Issue15152
Created on 2012-06-23 09:07 by neologix, last changed 2012-06-25 17:35 by neologix.
| Messages (4) | |||
|---|---|---|---|
| msg163557 - (view) | Author: Charles-François Natali (neologix) * ![]() |
Date: 2012-06-23 09:07 | |
Some test_subprocess tests are failing on really slow buildbots, such as the Ubtuntu ARM one: """ ====================================================================== ERROR: test_wait_timeout (test.test_subprocess.ProcessTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/lib/buildbot/buildarea/3.x.warsaw-ubuntu-arm/build/Lib/test/test_subprocess.py", line 718, in test_wait_timeout self.assertEqual(p.wait(timeout=3), 0) File "/var/lib/buildbot/buildarea/3.x.warsaw-ubuntu-arm/build/Lib/subprocess.py", line 1494, in wait raise TimeoutExpired(self.args, timeout) subprocess.TimeoutExpired: Command '['/var/lib/buildbot/buildarea/3.x.warsaw-ubuntu-arm/build/python', '-c', 'import time; time.sleep(0.1)']' timed out after 3 seconds ====================================================================== FAIL: test_check_output_timeout (test.test_subprocess.ProcessTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/lib/buildbot/buildarea/3.x.warsaw-ubuntu-arm/build/Lib/test/test_subprocess.py", line 140, in test_check_output_timeout self.assertEqual(c.exception.output, b'BDFL') AssertionError: b'' != b'BDFL' ====================================================================== FAIL: test_check_output_timeout (test.test_subprocess.ProcessTestCaseNoPoll) ---------------------------------------------------------------------- Traceback (most recent call last): File "/var/lib/buildbot/buildarea/3.x.warsaw-ubuntu-arm/build/Lib/test/test_subprocess.py", line 140, in test_check_output_timeout self.assertEqual(c.exception.output, b'BDFL') AssertionError: b'' != b'BDFL' """ The timeouts for those tests are already at 3 seconds. We could double them to 6 seconds and see if things get better: that would increase the running time on all the buildbots, though. Any other idea? |
|||
| msg163565 - (view) | Author: Antoine Pitrou (pitrou) * ![]() |
Date: 2012-06-23 09:41 | |
Barry (the buildbot owner) could take a look. |
|||
| msg163793 - (view) | Author: R. David Murray (r.david.murray) * ![]() |
Date: 2012-06-24 15:13 | |
You could make the test a loop, with the timeout increasing each time through the loop, failing only if all tries fail. That way on faster machines the test will pass faster. It'll take even longer on slow machines, but they are slow anyway so that may be acceptable. |
|||
| msg163996 - (view) | Author: Charles-François Natali (neologix) * ![]() |
Date: 2012-06-25 17:35 | |
> You could make the test a loop, with the timeout increasing each time through the loop, failing only if all tries fail. That way on faster machines the test will pass faster. It'll take even longer on slow machines, but they are slow anyway so that may be acceptable. Yes, sure, but then it'll only make the test non determinist: let's say there's a non reproductible bug in subprocess' timeout implementation, if we retry upon error, it won't get caught unless if fails a couple time in a row, which may never happen. The idea is to have a timeout large enough so that the probablility of false positives is *low enough*. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2012-06-25 17:35:09 | neologix | set | messages: + msg163996 |
| 2012-06-24 15:13:19 | r.david.murray | set | nosy:
+ r.david.murray messages: + msg163793 |
| 2012-06-23 09:41:11 | pitrou | set | nosy:
+ barry messages: + msg163565 |
| 2012-06-23 09:07:22 | neologix | create | |
