Procházet zdrojové kódy

Add new test cases.

Sergey Poznyakoff před 18 roky
rodič
revize
2504e7d3ae
5 změnil soubory, kde provedl 161 přidání a 0 odebrání
  1. 3 0
      tests/Makefile.am
  2. 52 0
      tests/T-empty.at
  3. 46 0
      tests/T-null.at
  4. 56 0
      tests/extrac07.at
  5. 4 0
      tests/testsuite.at

+ 3 - 0
tests/Makefile.am

@@ -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\

+ 52 - 0
tests/T-empty.at

@@ -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 <[email protected]>
+# References: <[email protected]>
+
+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

+ 46 - 0
tests/T-null.at

@@ -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

+ 56 - 0
tests/extrac07.at

@@ -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 <[email protected]>
+# References: <[email protected]>
+
+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
+
+

+ 4 - 0
tests/testsuite.at

@@ -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])