]> Dogcows Code - chaz/tar/commitdiff
Add new test cases.
authorSergey Poznyakoff <gray@gnu.org.ua>
Wed, 1 Nov 2006 00:23:52 +0000 (00:23 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Wed, 1 Nov 2006 00:23:52 +0000 (00:23 +0000)
tests/Makefile.am
tests/T-empty.at [new file with mode: 0644]
tests/T-null.at [new file with mode: 0644]
tests/extrac07.at [new file with mode: 0644]
tests/testsuite.at

index 5f6a42f616765ca84c1a7cb010e9bc31bc9abad0..33edd0e549f04b884752b8e411b03f5d9fc5d658 100644 (file)
@@ -46,6 +46,8 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
 ## ------------ ##
 
 TESTSUITE_AT = \
+ T-empty.at\
+ T-null.at\
  testsuite.at\
  append.at\
  append01.at\
@@ -63,6 +65,7 @@ TESTSUITE_AT = \
  extrac04.at\
  extrac05.at\
  extrac06.at\
+ extrac07.at\
  gzip.at\
  grow.at\
  incremental.at\
diff --git a/tests/T-empty.at b/tests/T-empty.at
new file mode 100644 (file)
index 0000000..be902fb
--- /dev/null
@@ -0,0 +1,52 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2006 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 2, 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Tar 1.16 coredumped if a filelist file contained empty (zero-length)
+# entries
+# Reported by: Karl Berry <karl@freefriends.org>
+# References: <200610301353.k9UDr1O30680@f7.net>
+
+AT_SETUP([files-from: empty entries])
+AT_KEYWORDS([files-from empty])
+
+AT_DATA([file-list],
+[jeden
+dwa
+
+trzy
+])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+
+genfile --file jeden
+genfile --file dwa
+genfile --file trzy
+
+tar cfvT archive ../file-list | sort
+],
+[0],
+[dwa
+jeden
+trzy
+],
+[],[],[],[ustar]) # Testing one format is enough
+
+AT_CLEANUP
\ No newline at end of file
diff --git a/tests/T-null.at b/tests/T-null.at
new file mode 100644 (file)
index 0000000..5606b85
--- /dev/null
@@ -0,0 +1,46 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2006 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 2, 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+AT_SETUP([files-from: 0-separated file without -0])
+AT_KEYWORDS([files-from null])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+
+echo dwa > temp
+echo trzy >> temp
+cat temp | tr '\n' '\0' > temp1
+echo jeden > file-list
+cat temp1 >> file-list
+
+genfile -f "jeden
+dwa"
+genfile -f trzy
+
+tar cfTv archive file-list | sort
+],
+[0],
+[jeden\ndwa
+trzy
+],
+[tar: file-list: file name read contains nul character
+],[],[ustar]) # Testing one format is enough
+
+AT_CLEANUP
diff --git a/tests/extrac07.at b/tests/extrac07.at
new file mode 100644 (file)
index 0000000..1fd2526
--- /dev/null
@@ -0,0 +1,56 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright (C) 2006 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 2, 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# Tar 1.16 failed to extract archives that have symlinks
+# in read-only directories.
+#
+# Reported-by: Eelco Dolstra <eelco@cs.uu.nl>
+# References: <45475D78.8050708@cs.uu.nl>
+
+AT_SETUP([extracting symlinks to a read-only dir])
+AT_KEYWORDS([extract extract07 read-only symlink])
+
+AT_TAR_CHECK([
+echo Prepare the directory
+mkdir dir
+genfile -f foo
+cd dir
+ln -s ../foo .
+cd ..
+chmod -w dir
+
+echo Create the archive
+tar cf archive dir || exit 1
+
+echo Extract
+mkdir out
+tar -C out -xvf archive
+],
+[0],
+[Prepare the directory
+Create the archive
+Extract
+dir/
+dir/foo
+],[],[],[ustar]) # Testing one format is enough
+
+AT_CLEANUP
+
+
index ea894cc19c8efff70caba9a8eb6373a31d32164a..572c7457461b53472bd27f366226602950c09418 100644 (file)
@@ -100,6 +100,9 @@ m4_include([pipe.at])
 m4_include([options.at])
 m4_include([options02.at])
 
+m4_include([T-empty.at])
+m4_include([T-null.at])
+
 m4_include([indexfile.at])
 m4_include([verbose.at])
 
@@ -119,6 +122,7 @@ m4_include([extrac03.at])
 m4_include([extrac04.at])
 m4_include([extrac05.at])
 m4_include([extrac06.at])
+m4_include([extrac07.at])
 
 m4_include([gzip.at])
 
This page took 0.027359 seconds and 4 git commands to generate.