Re: What does "Execution timeout is: $test_timeout" mean?
Jacob Bachmeyer <[email protected]> Thu, 03 Dec 2020 22:49:25 -0600
| Newsgroups | gmane.comp.sysutils.dejagnu.general |
|---|---|
| Message-ID | <[email protected]> |
Jonathan Wakely wrote: > On 02/12/20 21:48 -0600, Jacob Bachmeyer wrote: >> Jonathan Wakely wrote: >>> Hi, >>> >>> [...] >>> >>> 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). >> >> Evidently, the GCC testsuite is overriding that setting. > > Yes, GCC replaces the standard_wait proc with one that uses its own > value: > > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/testsuite/lib/timeout.exp;h=856c2e3184122cbd1128116703fef5480ec8805e;hb=HEAD > > > And so now I see what's happening. DG prints the value of > $test_timeout, calls remote_wait with that timeout, which calls > standard_wait with that timeout, but GCC replaces that proc with one > that uses a different timeout. I don't think DG can know about that > really. > > Maybe what GCC should really do is set $test_timeout instead, which is > possible now that proc unix_load allows it to be overridden. This is another example of problems caused by monkey-patching the test framework. The use of a different variable is a bug in the GCC testsuite. -- Jacob