From 72fa126446460347a504f3d9b90f24aed1365595 Mon Sep 17 00:00:00 2001 From: Cosmin Truta Date: Sun, 21 Apr 2019 00:30:14 -0400 Subject: [PATCH] Avoid random test failures by running pngtest sequentially only It is unreliable to run pngtest in parallel, due to competing writes to the same intermediate/output file ("pngout.png"). Customization of this output file name should be possible, but it is currently broken. --- Makefile.am | 3 +-- Makefile.in | 16 ++++------------ tests/pngtest | 2 -- tests/{pngtest-badpngs => pngtest-all} | 7 +++++-- 4 files changed, 10 insertions(+), 18 deletions(-) delete mode 100755 tests/pngtest rename tests/{pngtest-badpngs => pngtest-all} (80%) diff --git a/Makefile.am b/Makefile.am index 4f621aa4d6..f21107e65e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -59,8 +59,7 @@ pngcp_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la # Generally these are single line shell scripts to run a test with a particular # set of parameters: TESTS =\ - tests/pngtest\ - tests/pngtest-badpngs\ + tests/pngtest-all\ tests/pngvalid-gamma-16-to-8 tests/pngvalid-gamma-alpha-mode\ tests/pngvalid-gamma-background tests/pngvalid-gamma-expand16-alpha-mode\ tests/pngvalid-gamma-expand16-background\ diff --git a/Makefile.in b/Makefile.in index 81ac1c8552..31a82d25a4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -736,8 +736,7 @@ pngcp_LDADD = libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@.la # Generally these are single line shell scripts to run a test with a particular # set of parameters: TESTS = \ - tests/pngtest\ - tests/pngtest-badpngs\ + tests/pngtest-all\ tests/pngvalid-gamma-16-to-8 tests/pngvalid-gamma-alpha-mode\ tests/pngvalid-gamma-background tests/pngvalid-gamma-expand16-alpha-mode\ tests/pngvalid-gamma-expand16-background\ @@ -1578,16 +1577,9 @@ recheck: all $(check_PROGRAMS) am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? -tests/pngtest.log: tests/pngtest - @p='tests/pngtest'; \ - b='tests/pngtest'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -tests/pngtest-badpngs.log: tests/pngtest-badpngs - @p='tests/pngtest-badpngs'; \ - b='tests/pngtest-badpngs'; \ +tests/pngtest-all.log: tests/pngtest-all + @p='tests/pngtest-all'; \ + b='tests/pngtest-all'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ diff --git a/tests/pngtest b/tests/pngtest deleted file mode 100755 index 813973b23e..0000000000 --- a/tests/pngtest +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -exec ./pngtest --strict ${srcdir}/pngtest.png diff --git a/tests/pngtest-badpngs b/tests/pngtest-all similarity index 80% rename from tests/pngtest-badpngs rename to tests/pngtest-all index 77775232b2..5e96451d37 100755 --- a/tests/pngtest-badpngs +++ b/tests/pngtest-all @@ -1,5 +1,9 @@ #!/bin/sh +# normal execution + +./pngtest --strict ${srcdir}/pngtest.png + # various crashers # using --relaxed because some come from fuzzers that don't maintain CRC's @@ -9,5 +13,4 @@ ./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/empty_ancillary_chunks.png ./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/huge_*_chunk.png \ ${srcdir}/contrib/testpngs/crashers/huge_*safe_to_copy.png - -exec ./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/huge_IDAT.png +./pngtest --xfail ${srcdir}/contrib/testpngs/crashers/huge_IDAT.png