The hope would be that the timeout was due to an external factor and that the task won't time out on the second try.
But it's also quite likely that that the timeout is caused by an issue with the test itself and then it would time out again, and again. So with the default 3 tries this would result in tripling the time it takes to get the results (so 6 minutes and 3 reverts).
Furthermore timeouts are not that common (particularly spurious ones) so it may not be worth changing anything.
If we do want to do something the patch would be simple. I believe something like the patch below would do the trick.
We could also have a single retry in such a case but this would require to special-case the code.
diff --git a/testbot/bin/WineRunTask.pl b/testbot/bin/WineRunTask.pl index 1663c105..0cb0ea18 100755 --- a/testbot/bin/WineRunTask.pl +++ b/testbot/bin/WineRunTask.pl @@ -765,4 +765,5 @@ FatalTAError(undef, $TAError, $PossibleCrash) if (defined $TAError); # Wrap up #
-WrapUpAndExit($NewStatus, $TaskFailures); +# Don't retry running a timed out test if it has failures anyway +WrapUpAndExit($NewStatus, $TaskFailures, ($TaskTimedOut and $TaskFailures == 1));