summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2014-02-25 10:37:09 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2014-02-25 10:38:06 +0200
commitf24b30ec8ca1851b7bd14694241de3b38194c99c (patch)
treeca8e2bd3018304d900a75bd4f918f952de20d257
parent93906c238d9309f95afeddfa9ac8d7ce92351e70 (diff)
downloadtar-f24b30ec8ca1851b7bd14694241de3b38194c99c.tar.gz
Test the --[no-]recursive options (see commit 2bd9c153_.
* tests/recurs02.at: New test case. * tests/Makefile.am: Add new file. * tests/testsuite.at: Add new file.
-rw-r--r--tests/Makefile.am1
-rw-r--r--tests/recurs02.at47
-rw-r--r--tests/testsuite.at1
3 files changed, 49 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 76954eb0..d4c93620 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -159,6 +159,7 @@ TESTSUITE_AT = \
owner.at\
pipe.at\
recurse.at\
+ recurs02.at\
rename01.at\
rename02.at\
rename03.at\
diff --git a/tests/recurs02.at b/tests/recurs02.at
new file mode 100644
index 00000000..93aa2c14
--- /dev/null
+++ b/tests/recurs02.at
@@ -0,0 +1,47 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright 2014 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: Test interaction of --recursion and --no-recursion options.
+# Each of them remains in effect until cancelled by the next ocurrence
+# of its counterpart. This didn't work in v.1.27.1 and was fixed by
+# commit 2bd9c153.
+# Reported by: Kai <hellsy22@mail.ru>
+# References: <1389166145.829001090@f341.i.mail.ru>,
+# <20140108231826.16453@ulysses.gnu.org.ua>,
+# https://lists.gnu.org/archive/html/bug-tar/2014-01/msg00019.html
+
+AT_SETUP([recurse: toggle])
+AT_KEYWORDS([recurse options recurse02])
+
+AT_TAR_CHECK([
+mkdir directory1 directory2
+touch directory1/file directory2/file
+tar --create --file archive \
+ --no-recursion directory1 \
+ --recursion directory2 || exit 1
+tar tf archive
+],
+[0],
+[directory1/
+directory2/
+directory2/file
+])
+
+AT_CLEANUP
diff --git a/tests/testsuite.at b/tests/testsuite.at
index ac0119e8..c52890b9 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -211,6 +211,7 @@ m4_include([indexfile.at])
m4_include([verbose.at])
m4_include([gzip.at])
m4_include([recurse.at])
+m4_include([recurs02.at])
m4_include([shortrec.at])
AT_BANNER([The --same-order option])