summaryrefslogtreecommitdiff
path: root/tests/incr03.at
diff options
context:
space:
mode:
Diffstat (limited to 'tests/incr03.at')
-rw-r--r--tests/incr03.at82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/incr03.at b/tests/incr03.at
new file mode 100644
index 0000000..d6301a7
--- /dev/null
+++ b/tests/incr03.at
@@ -0,0 +1,82 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright 2006-2007, 2009, 2013-2014, 2016 Free Software Foundation,
+# Inc.
+
+# This file is part of GNU tar.
+
+# GNU tar is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# GNU tar is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Description:
+# Previous versions checked only mtime/ctime of directories during
+# incremental backups. As a result, it sufficed to rename a single file
+# to get full dump of the directory where it resided. Since v.1.15.91
+# tar checks directory contents as well, so in this case only the renamed
+# file is dumped.
+
+AT_SETUP([renamed files in incrementals])
+AT_KEYWORDS([incremental incr03 rename])
+
+AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+AT_SORT_PREREQ
+mkdir directory
+genfile --file=directory/x
+genfile --file=directory/y
+
+sleep 1
+
+tar -cf archive.1 -g db directory
+
+mv directory/x directory/z
+cp db db.old
+tar -cf archive.2 -g db directory
+
+mv directory orig
+
+echo Listing of archive.1
+tar -tf archive.1 | sort
+echo Listing of archive.2
+tar -tf archive.2 | sort
+
+echo Directory after first restore
+tar -xf archive.1 -g db --warning=no-timestamp
+find directory | sort
+
+echo Directory after second restore
+tar -xf archive.2 -g db --warning=no-timestamp
+find directory | sort
+],
+[0],
+[Listing of archive.1
+directory/
+directory/x
+directory/y
+Listing of archive.2
+directory/
+directory/z
+Directory after first restore
+directory
+directory/x
+directory/y
+Directory after second restore
+directory
+directory/y
+directory/z
+],[],[],[],[gnu, oldgnu, posix])
+
+AT_CLEANUP
+
+# End of incr03.at