Hi, When running the GCC testsuite I see this line printed in the log for every test:
Execution timeout is: 300 However, this isn't true. The GCC testsuite uses $tool_timeout as the timeout for both compiling and running tests. What is that line in the log telling me? It's printed by unix_load in config/unix.exp, as added by this patch: https://lists.gnu.org/archive/html/dejagnu/2015-11/msg00008.html If I set test_timeout in ~/.dejagnurc or site.exp then I do indeed see the value change. But it doesn't do anything. I can set test_timeout to 2 second, and tests that sleep for 20 seconds or more will still PASS and not timeout (as long as $tool_timeout is large enough). The docs added by that patch say that $test_timeout is "the amount of time (in seconds) to wait for a remote test to complete" which doesn't match my observations. Is it because I'm testing locally, not remotely? If that value only affects remote tests, why does DejaGnu print "Execution timeout is: $test_timeout" to the logs unconditionally? It's unhelpful (i.e. downright confusing) to log it if it's not actually relevant. DejaGnu *does* know about the "real" timeout, because the remote_exec proc in remote.exp has already handled it and logged it via this command: verbose -log "Executing on $hostname: $program $pargs $inp $outp (timeout = $timeout)" 2 I see that in my logs, and the $timeout value is the one I've set via $tool_timeout and actually works. If I set that to a low value, my tests timeout and FAIL. That timeout is the total time for both compiling and running the test. When I use -v -v -v with dejagnu-1.6.1 and set GCC's tool_timeout=30 and test_timeout=2 I see the output in the attached extract from the log. The lines beginning with ================ are printed by the test itself, showing it sleeps for 20 seconds. Despite DejaGnu telling me the execution timeout is 2, the test passes. Either the execution timeout is not used, or the timeout is not working. Could unix.exp stop logging that line unconditionally if it's not true? Is it supposed to be true? Is the timeout failing to fire? Is it not relevant for local tests? I'm very confused.