Control: tags 748657 + patch Control: tags 748657 + pending Dear maintainer,
I've prepared an NMU for make-dfsg (versioned as 4.0-8.1). Testing fopen is machine-dependent and reliant on local ulimit values. The previous patch to simply timeout based on the (unknown) value of the current ulimit is inherently unreliable and machine-dependent. It would not seem sensible for a package like make to test the machine running the build instead of the code built by that machine. Calls to ulimit are not supportable within perl due to architecture-specific limitations and calling ulimit from a child process would not affect the ulimit of the calling perl process. So, overall, the only option as far as I see it is to simply skip this misguided test. This replaces a meaningless fopen "result" with: misc/fopen-fail ......................................... N/A I will upload to DELAYED/4 - let me know if you want it delayed longer. Regards.
diff -Nru make-dfsg-4.0/debian/changelog make-dfsg-4.0/debian/changelog --- make-dfsg-4.0/debian/changelog 2014-06-14 00:13:45.000000000 +0100 +++ make-dfsg-4.0/debian/changelog 2015-01-17 18:30:55.000000000 +0000 @@ -1,3 +1,12 @@ +make-dfsg (4.0-8.1) unstable; urgency=medium + + * Non-maintainer upload. + * Skip the work/misc/fopen-fail.mk as it is testing the underlying + machine, not the built code from the package and is machine-dependent. + (Closes: #748657) + + -- Neil Williams <codeh...@debian.org> Sat, 17 Jan 2015 18:30:17 +0000 + make-dfsg (4.0-8) unstable; urgency=high * Update the timeout for the fopen fail test to 300 seconds, since the diff -Nru make-dfsg-4.0/debian/patches/series make-dfsg-4.0/debian/patches/series --- make-dfsg-4.0/debian/patches/series 2014-06-14 00:13:45.000000000 +0100 +++ make-dfsg-4.0/debian/patches/series 2015-01-17 18:31:16.000000000 +0000 @@ -10,3 +10,4 @@ 0009-handle_excessive_command_length-Patch-to-fix-large-c.patch 0010-makeint.h-STOP_SET-SV-40371-Cast-to-unsigned-char.patch 0011-test-fopenfail-timeout-fix-Set-fopen-fail-timeout-to.patch +skip-fopen-fail.patch diff -Nru make-dfsg-4.0/debian/patches/skip-fopen-fail.patch make-dfsg-4.0/debian/patches/skip-fopen-fail.patch --- make-dfsg-4.0/debian/patches/skip-fopen-fail.patch 1970-01-01 01:00:00.000000000 +0100 +++ make-dfsg-4.0/debian/patches/skip-fopen-fail.patch 2015-01-17 18:32:29.000000000 +0000 @@ -0,0 +1,40 @@ +Description: Drop test based on ulimit + Testing ulimit settings is machine dependent and unreliable + as a test of the built code. Skip this test and drop previous + code which tried to timeout instead. + . + make-dfsg (4.0-8.1) unstable; urgency=medium + . + * Non-maintainer upload. + * Skip the work/misc/fopen-fail.mk as it is testing the underlying + machine, not the built code from the package and is machine-dependent. + (Closes: #748657) +Author: Neil Williams <codeh...@debian.org> +Bug-Debian: https://bugs.debian.org/748657 + +--- + +--- make-dfsg-4.0.orig/tests/test_driver.pl ++++ make-dfsg-4.0/tests/test_driver.pl +@@ -464,14 +464,14 @@ sub run_all_tests + $tests_run = 0; + $tests_passed = 0; + +- if ($testname =~ m{misc/fopen-fail}msx) { $test_timeout = 300; } +- # Run the test! +- $code = do $perl_testname; +- +- ++$categories_run; +- $total_tests_run += $tests_run; +- $total_tests_passed += $tests_passed; ++ if ($testname =~ m{misc/fopen-fail}msx) { $code = -1; } else { ++ # Run the test! ++ $code = do $perl_testname; + ++ ++$categories_run; ++ $total_tests_run += $tests_run; ++ $total_tests_passed += $tests_passed; ++ } + # How did it go? + if (!defined($code)) { + # Failed to parse or called die