Follow-up Comment #3, bug #42390 (project make):

In the Debian BTS, Víctor M. Jáquez L. found the root cause:


>  The problem is, if I understand it correctly, the timeout value: 

> By default the test timeout (tests/test_driver.pl) is 5 seconds, but in
this
> particular test, the timeout is reached before hitting the "too many open
> files" error, which is the expected error. This is the case when the
computer
> is not under a heavy load. I changed the variable $test_timeout from 5 to
300
> and I could build the package smoothly.

> # Timeout in seconds.  If the test takes longer than this we'll fail it.
> $test_timeout = 300;

Nased on that, I came up with the minimal patch that allows the build to
succeed, though I think that hard coding test specific behaviour int he driver
is sub optimal. The patch, though, does only reset the timeout for the one
single test that needs it. Ideally, there should be a mechanism to specfy a
per test timeout.

diff --git i/tests/test_driver.pl w/tests/test_driver.pl
index 2f83270..18d0379 100644
--- i/tests/test_driver.pl
+++ w/tests/test_driver.pl
@@ -419,7 +419,9 @@ sub run_all_tests
 {
     $categories_run = 0;
 
+    my $save_timeout = $test_timeout;
     foreach $testname (sort @TESTS) {
+        local $test_timeout = $save_timeout;
         $suite_passed = 1;       # reset by test on failure
         $num_of_logfiles = 0;
         $num_of_tmpfiles = 0;
@@ -462,6 +464,7 @@ 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;


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?42390>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/


_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to