Update for new exclude module from gnulib. Add testcases by Phil Proudman.
* src/names.c (is_pattern): Remove. (regex_usage_warning): Use fnmatch_pattern_has_wildcards instead of is_pattern. * src/tar.c: New option --exclude-backups. (vcs_file_table, backup_file_table): New globals. (add_exclude_array): New function. * tests/exclude01.at, tests/exclude02.at, tests/exclude03.at, tests/exclude04.at, tests/exclude05.at: New testcases. Supplied by Phil Proudman. * tests/Makefile.am (TESTSUITE_AT): Add new tests. * tests/testsuite.at: Add new tests. * THANKS: Update.
This commit is contained in:
73
tests/exclude03.at
Normal file
73
tests/exclude03.at
Normal file
@@ -0,0 +1,73 @@
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
# Copyright (C) 2009 Free Software Foundation, Inc.
|
||||
|
||||
# This program 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, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program 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/>.
|
||||
|
||||
AT_SETUP([exclude: wildcards match slash])
|
||||
AT_KEYWORDS([exclude exclude03])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
AT_SORT_PREREQ
|
||||
|
||||
rm -rf testdir
|
||||
mkdir -p testdir/dir1 testdir/dir2 testdir/dir3
|
||||
touch testdir/\*f\*1
|
||||
touch testdir/dir1/file1
|
||||
touch testdir/dir1/\*
|
||||
touch testdir/dir2/file2
|
||||
touch testdir/dir2/\*
|
||||
touch testdir/dir3/file3
|
||||
touch testdir/dir3/\*
|
||||
|
||||
tar cf archive --exclude='testdir*f*1' \
|
||||
--no-wildcards-match-slash \
|
||||
--exclude='testdir*f*2' \
|
||||
--wildcards-match-slash \
|
||||
--exclude='testdir*f*3' \
|
||||
testdir
|
||||
tar tf archive | sort
|
||||
|
||||
echo "NEXT"
|
||||
tar cf archive testdir
|
||||
tar t --wildcards 'testdir/*f*1' -f archive | sort
|
||||
|
||||
echo "NEXT"
|
||||
tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort
|
||||
|
||||
echo "NEXT"
|
||||
tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort
|
||||
|
||||
rm -rf testdir
|
||||
|
||||
],
|
||||
[0],
|
||||
[testdir/
|
||||
testdir/dir1/
|
||||
testdir/dir1/*
|
||||
testdir/dir2/
|
||||
testdir/dir2/*
|
||||
testdir/dir2/file2
|
||||
testdir/dir3/
|
||||
testdir/dir3/*
|
||||
NEXT
|
||||
testdir/*f*1
|
||||
testdir/dir1/file1
|
||||
NEXT
|
||||
testdir/*f*1
|
||||
NEXT
|
||||
testdir/*f*1
|
||||
testdir/dir1/file1
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
Reference in New Issue
Block a user