summaryrefslogtreecommitdiff
path: root/tests/Makemodule.am
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-09-03 17:01:32 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2020-09-03 17:01:32 +0200
commit50067dafdb36ac2a6cbdb0186fa22082cf424e9a (patch)
tree321dbb45c815d3ea5f4fed41c680e7b63de78e6e /tests/Makemodule.am
parentface4b1257b6f897906f51510b7f4e8793e6465a (diff)
Cleanup: reduce tar test cases to a few generic C files
This commit removes the existing tar test cases that simply call the generic test case function with several different paths with generic test case source files that are parameneterized via the pro-processor. For each tar archive, a separate test case is generated. On the one hand, this reduces the test source code to practically nothing. On the other hand, a test binary is generated for every distinct test case, instead of one per group and we get more detailed insights if something goes wrong. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'tests/Makemodule.am')
-rw-r--r--tests/Makemodule.am173
1 files changed, 149 insertions, 24 deletions
diff --git a/tests/Makemodule.am b/tests/Makemodule.am
index 2bca679..809ff07 100644
--- a/tests/Makemodule.am
+++ b/tests/Makemodule.am
@@ -61,17 +61,115 @@ test_filename_sane_w32_SOURCES = tests/filename_sane.c
test_filename_sane_w32_SOURCES += lib/fstree/filename_sane.c
test_filename_sane_w32_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_WIN32=1
-test_tar_gnu_SOURCES = tests/tar_gnu.c tests/test.h tests/test_tar.h
-test_tar_gnu_LDADD = libtar.a libcompat.a
-test_tar_gnu_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
-
-test_tar_pax_SOURCES = tests/tar_pax.c tests/test.h tests/test_tar.h
-test_tar_pax_LDADD = libtar.a libcompat.a
-test_tar_pax_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
-
-test_tar_ustar_SOURCES = tests/tar_ustar.c tests/test.h tests/test_tar.h
-test_tar_ustar_LDADD = libtar.a libcompat.a
-test_tar_ustar_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu0_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_gnu0_LDADD = libtar.a libcompat.a
+test_tar_gnu0_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu0_CPPFLAGS += -DTESTFILE=format-acceptance/gnu.tar
+
+test_tar_gnu1_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_gnu1_LDADD = libtar.a libcompat.a
+test_tar_gnu1_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu1_CPPFLAGS += -DTESTFILE=format-acceptance/gnu-g.tar
+
+test_tar_gnu2_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_gnu2_LDADD = libtar.a libcompat.a
+test_tar_gnu2_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu2_CPPFLAGS += -DTESTFILE=user-group-largenum/gnu.tar
+test_tar_gnu2_CPPFLAGS += -DTESTUID=0x80000000 -DTESTGID=0x80000000
+test_tar_gnu2_CPPFLAGS += -DTESTTS=1542995392
+
+test_tar_gnu3_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_gnu3_LDADD = libtar.a libcompat.a
+test_tar_gnu3_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu3_CPPFLAGS += -DTESTFILE=negative-mtime/gnu.tar -DTESTTS=-315622800
+
+test_tar_gnu4_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_gnu4_LDADD = libtar.a libcompat.a
+test_tar_gnu4_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu4_CPPFLAGS += -DTESTFILE=long-paths/gnu.tar -DLONG_NAME_TEST
+test_tar_gnu4_CPPFLAGS += -DTESTTS=1542909670
+
+test_tar_gnu5_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_gnu5_LDADD = libtar.a libcompat.a
+test_tar_gnu5_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu5_CPPFLAGS += -DTESTFILE=large-mtime/gnu.tar -DTESTTS=8589934592L
+
+test_tar_gnu6_SOURCES = tests/tar_big_file.c tests/test.h tests/test_tar.h
+test_tar_gnu6_LDADD = libtar.a libcompat.a
+test_tar_gnu6_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_gnu6_CPPFLAGS += -DTESTFILE=file-size/gnu.tar
+
+test_tar_pax0_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_pax0_LDADD = libtar.a libcompat.a
+test_tar_pax0_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_pax0_CPPFLAGS += -DTESTFILE=format-acceptance/pax.tar
+
+test_tar_pax1_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_pax1_LDADD = libtar.a libcompat.a
+test_tar_pax1_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_pax1_CPPFLAGS += -DTESTFILE=user-group-largenum/pax.tar
+test_tar_pax1_CPPFLAGS += -DTESTUID=2147483648UL -DTESTGID=2147483648UL
+test_tar_pax1_CPPFLAGS += -DTESTTS=1542995392
+
+test_tar_pax2_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_pax2_LDADD = libtar.a libcompat.a
+test_tar_pax2_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_pax2_CPPFLAGS += -DTESTFILE=large-mtime/pax.tar -DTESTTS=8589934592L
+
+test_tar_pax3_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_pax3_LDADD = libtar.a libcompat.a
+test_tar_pax3_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_pax3_CPPFLAGS += -DTESTFILE=negative-mtime/pax.tar -DTESTTS=-315622800
+
+test_tar_pax4_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_pax4_LDADD = libtar.a libcompat.a
+test_tar_pax4_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_pax4_CPPFLAGS += -DTESTFILE=long-paths/pax.tar
+test_tar_pax4_CPPFLAGS += -DLONG_NAME_TEST -DTESTTS=1542909670
+
+test_tar_pax5_SOURCES = tests/tar_big_file.c tests/test.h tests/test_tar.h
+test_tar_pax5_LDADD = libtar.a libcompat.a
+test_tar_pax5_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_pax5_CPPFLAGS += -DTESTFILE=file-size/pax.tar
+
+test_tar_ustar0_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_ustar0_LDADD = libtar.a libcompat.a
+test_tar_ustar0_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar0_CPPFLAGS += -DTESTFILE=format-acceptance/ustar.tar
+
+test_tar_ustar1_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_ustar1_LDADD = libtar.a libcompat.a
+test_tar_ustar1_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar1_CPPFLAGS += -DTESTFILE=format-acceptance/ustar-pre-posix.tar
+
+test_tar_ustar2_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_ustar2_LDADD = libtar.a libcompat.a
+test_tar_ustar2_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar2_CPPFLAGS += -DTESTFILE=format-acceptance/v7.tar
+
+test_tar_ustar3_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_ustar3_LDADD = libtar.a libcompat.a
+test_tar_ustar3_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar3_CPPFLAGS += -DTESTFILE=user-group-largenum/8-digit.tar
+test_tar_ustar3_CPPFLAGS += -DTESTUID=8388608 -DTESTGID=8388608
+test_tar_ustar3_CPPFLAGS += -DTESTTS=1542995392
+
+test_tar_ustar4_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_ustar4_LDADD = libtar.a libcompat.a
+test_tar_ustar4_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar4_CPPFLAGS += -DTESTFILE=large-mtime/12-digit.tar
+test_tar_ustar4_CPPFLAGS += -DTESTTS=8589934592L
+
+test_tar_ustar5_SOURCES = tests/tar_simple.c tests/test.h tests/test_tar.h
+test_tar_ustar5_LDADD = libtar.a libcompat.a
+test_tar_ustar5_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar5_CPPFLAGS += -DTESTFILE=long-paths/ustar.tar
+test_tar_ustar5_CPPFLAGS += -DLONG_NAME_TEST -DTESTTS=1542909670
+
+test_tar_ustar6_SOURCES = tests/tar_big_file.c tests/test.h tests/test_tar.h
+test_tar_ustar6_LDADD = libtar.a libcompat.a
+test_tar_ustar6_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_ustar6_CPPFLAGS += -DTESTFILE=file-size/12-digit.tar
test_tar_target_filled_SOURCES = tests/tar_target_filled.c tests/test.h
test_tar_target_filled_SOURCES += tests/test_tar.h
@@ -84,33 +182,47 @@ test_tar_sparse_gnu_SOURCES += tests/test_tar.h
test_tar_sparse_gnu_LDADD = libtar.a libcompat.a
test_tar_sparse_gnu_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
-test_tar_sparse_gnu1_SOURCES = tests/tar_sparse_gnu1.c tests/test.h
-test_tar_sparse_gnu1_SOURCES += tests/test_tar.h
+test_tar_sparse_gnu0_SOURCES = tests/tar_sparse.c tests/test.h tests/test_tar.h
+test_tar_sparse_gnu0_LDADD = libtar.a libcompat.a
+test_tar_sparse_gnu0_CPPFLAGS = $(AM_CPPFLAGS)
+test_tar_sparse_gnu0_CPPFLAGS += -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_sparse_gnu0_CPPFLAGS += -DTESTFILE=sparse-files/pax-gnu0-0.tar
+
+test_tar_sparse_gnu1_SOURCES = tests/tar_sparse.c tests/test.h tests/test_tar.h
test_tar_sparse_gnu1_LDADD = libtar.a libcompat.a
test_tar_sparse_gnu1_CPPFLAGS = $(AM_CPPFLAGS)
test_tar_sparse_gnu1_CPPFLAGS += -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_sparse_gnu1_CPPFLAGS += -DTESTFILE=sparse-files/pax-gnu0-1.tar
-test_tar_sparse_gnu2_SOURCES = tests/tar_sparse_gnu2.c tests/test.h
-test_tar_sparse_gnu2_SOURCES += tests/test_tar.h
+test_tar_sparse_gnu2_SOURCES = tests/tar_sparse.c tests/test.h tests/test_tar.h
test_tar_sparse_gnu2_LDADD = libtar.a libcompat.a
test_tar_sparse_gnu2_CPPFLAGS = $(AM_CPPFLAGS)
test_tar_sparse_gnu2_CPPFLAGS += -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_sparse_gnu2_CPPFLAGS += -DTESTFILE=sparse-files/pax-gnu1-0.tar
+
+test_tar_sparse_gnu3_SOURCES = tests/tar_sparse.c tests/test.h tests/test_tar.h
+test_tar_sparse_gnu3_LDADD = libtar.a libcompat.a
+test_tar_sparse_gnu3_CPPFLAGS = $(AM_CPPFLAGS)
+test_tar_sparse_gnu3_CPPFLAGS += -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_sparse_gnu3_CPPFLAGS += -DTESTFILE=sparse-files/gnu.tar
-test_tar_xattr_bsd_SOURCES = tests/tar_xattr_bsd.c tests/test.h tests/test_tar.h
+test_tar_xattr_bsd_SOURCES = tests/tar_xattr.c tests/test.h tests/test_tar.h
test_tar_xattr_bsd_LDADD = libtar.a libcompat.a
test_tar_xattr_bsd_CPPFLAGS = $(AM_CPPFLAGS) -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_xattr_bsd_CPPFLAGS += -DTESTFILE=xattr/xattr-libarchive.tar
-test_tar_xattr_schily_SOURCES = tests/tar_xattr_schily.c tests/test.h
-test_tar_xattr_schily_SOURCES += tests/test_tar.h
+test_tar_xattr_schily_SOURCES = tests/tar_xattr.c tests/test.h tests/test_tar.h
test_tar_xattr_schily_LDADD = libtar.a libcompat.a
test_tar_xattr_schily_CPPFLAGS = $(AM_CPPFLAGS)
test_tar_xattr_schily_CPPFLAGS += -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_xattr_schily_CPPFLAGS += -DTESTFILE=xattr/xattr-schily.tar
-test_tar_xattr_schily_bin_SOURCES = tests/tar_xattr_schily_bin.c tests/test.h
+test_tar_xattr_schily_bin_SOURCES = tests/tar_xattr_bin.c tests/test.h
test_tar_xattr_schily_bin_SOURCES += tests/test_tar.h
test_tar_xattr_schily_bin_LDADD = libtar.a libcompat.a
test_tar_xattr_schily_bin_CPPFLAGS = $(AM_CPPFLAGS)
test_tar_xattr_schily_bin_CPPFLAGS += -DTESTPATH=$(top_srcdir)/tests/tar
+test_tar_xattr_schily_bin_CPPFLAGS += -DTESTFILE=xattr/xattr-schily-binary.tar
fstree_fuzz_SOURCES = tests/fstree_fuzz.c
fstree_fuzz_LDADD = libfstree.a libcompat.a
@@ -122,8 +234,15 @@ check_PROGRAMS += test_mknode_simple test_mknode_slink test_mknode_reg
check_PROGRAMS += test_mknode_dir test_gen_inode_numbers test_add_by_path
check_PROGRAMS += test_get_path test_fstree_sort test_fstree_from_file
check_PROGRAMS += test_fstree_init test_filename_sane test_filename_sane_w32
-check_PROGRAMS += test_tar_ustar test_tar_pax test_tar_gnu
-check_PROGRAMS += test_tar_sparse_gnu test_tar_sparse_gnu1 test_tar_sparse_gnu2
+check_PROGRAMS += test_tar_ustar0 test_tar_ustar1 test_tar_ustar2
+check_PROGRAMS += test_tar_ustar3 test_tar_ustar4 test_tar_ustar5
+check_PROGRAMS += test_tar_ustar6
+check_PROGRAMS += test_tar_pax0 test_tar_pax1 test_tar_pax2 test_tar_pax3
+check_PROGRAMS += test_tar_pax4 test_tar_pax5
+check_PROGRAMS += test_tar_gnu0 test_tar_gnu1 test_tar_gnu2 test_tar_gnu3
+check_PROGRAMS += test_tar_gnu4 test_tar_gnu5 test_tar_gnu6
+check_PROGRAMS += test_tar_sparse_gnu test_tar_sparse_gnu0 test_tar_sparse_gnu1
+check_PROGRAMS += test_tar_sparse_gnu2 test_tar_sparse_gnu3
check_PROGRAMS += test_tar_xattr_bsd test_tar_xattr_schily
check_PROGRAMS += test_tar_xattr_schily_bin test_tar_target_filled
@@ -133,9 +252,15 @@ TESTS += test_mknode_simple test_mknode_slink
TESTS += test_mknode_reg test_mknode_dir test_gen_inode_numbers
TESTS += test_add_by_path test_get_path test_fstree_sort test_fstree_from_file
TESTS += test_fstree_init test_filename_sane test_filename_sane_w32
-TESTS += test_tar_ustar test_tar_pax
-TESTS += test_tar_gnu test_tar_sparse_gnu test_tar_sparse_gnu1
-TESTS += test_tar_sparse_gnu2 test_tar_xattr_bsd test_tar_xattr_schily
+TESTS += test_tar_ustar0 test_tar_ustar1 test_tar_ustar2 test_tar_ustar3
+TESTS += test_tar_ustar4 test_tar_ustar5 test_tar_ustar6
+TESTS += test_tar_gnu0 test_tar_gnu1 test_tar_gnu2 test_tar_gnu3 test_tar_gnu4
+TESTS += test_tar_gnu5 test_tar_gnu6
+TESTS += test_tar_pax0 test_tar_pax1 test_tar_pax2 test_tar_pax3 test_tar_pax4
+TESTS += test_tar_pax5
+TESTS += test_tar_sparse_gnu test_tar_sparse_gnu0
+TESTS += test_tar_sparse_gnu1 test_tar_sparse_gnu2 test_tar_sparse_gnu3
+TESTS += test_tar_xattr_bsd test_tar_xattr_schily
TESTS += test_tar_xattr_schily_bin test_tar_target_filled
if CORPORA_TESTS