diff options
author | Christian Heimes <christian@cheimes.de> | 2008-01-27 18:55:54 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2008-01-27 18:55:54 (GMT) |
commit | 412dc9c88f040abf4b23017c5e5e4d8b880d247d (patch) | |
tree | e10dee1ac8404c0d3362c48a4350d8e8389b7789 /Lib/test/test_bsddb3.py | |
parent | 661b0a15d78b8e86ea4b458550b1cb04f0988424 (diff) | |
download | cpython-412dc9c88f040abf4b23017c5e5e4d8b880d247d.zip cpython-412dc9c88f040abf4b23017c5e5e4d8b880d247d.tar.gz cpython-412dc9c88f040abf4b23017c5e5e4d8b880d247d.tar.bz2 |
Merged revisions 60350-60363 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r60355 | neal.norwitz | 2008-01-27 18:10:14 +0100 (Sun, 27 Jan 2008) | 1 line
Whitespace cleanup
........
r60356 | neal.norwitz | 2008-01-27 18:10:29 +0100 (Sun, 27 Jan 2008) | 1 line
Add assertion that we do not blow out newl
........
r60357 | neal.norwitz | 2008-01-27 18:10:35 +0100 (Sun, 27 Jan 2008) | 1 line
Initialize variable to prevent warning on some platform/config.
........
r60358 | neal.norwitz | 2008-01-27 18:10:43 +0100 (Sun, 27 Jan 2008) | 1 line
Update to newer version of ffi. Fixes crashes and test failures of longdouble
........
r60359 | neal.norwitz | 2008-01-27 18:10:50 +0100 (Sun, 27 Jan 2008) | 1 line
Add a tiny sleep and additional flush to force the file to really be synced.
........
r60360 | neal.norwitz | 2008-01-27 18:10:58 +0100 (Sun, 27 Jan 2008) | 1 line
Retry connection in case it fails to reduce flakiness
........
r60361 | neal.norwitz | 2008-01-27 18:11:11 +0100 (Sun, 27 Jan 2008) | 4 lines
Catch socket errors that are often the cause of transient failures.
Many of these exceptions are due to resource unavailable, so the
existing code should be able to handle many more spurious errors.
........
r60362 | neal.norwitz | 2008-01-27 18:12:15 +0100 (Sun, 27 Jan 2008) | 1 line
Reduce buffer size since we do not need 1k
........
r60363 | neal.norwitz | 2008-01-27 18:13:07 +0100 (Sun, 27 Jan 2008) | 1 line
Print periodic "still working" messages since this suite is slow.
........
Diffstat (limited to 'Lib/test/test_bsddb3.py')
-rw-r--r-- | Lib/test/test_bsddb3.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/Lib/test/test_bsddb3.py b/Lib/test/test_bsddb3.py index 15ed1e4..a88b113 100644 --- a/Lib/test/test_bsddb3.py +++ b/Lib/test/test_bsddb3.py @@ -3,6 +3,7 @@ Run all test cases. """ import sys +import time import unittest import test.test_support from test.test_support import requires, run_unittest, unlink @@ -22,6 +23,30 @@ if 'silent' in sys.argv: # take care of old flag, just in case sys.argv.remove('silent') +class TimingCheck(unittest.TestCase): + + """This class is not a real test. Its purpose is to print a message + periodically when the test runs slowly. This will prevent the buildbots + from timing out on slow machines.""" + + # How much time in seconds before printing a 'Still working' message. + # Since this is run at most once between each test module, use a smaller + # interval than other tests. + _PRINT_WORKING_MSG_INTERVAL = 4 * 60 + + # next_time is used as a global variable that survives each instance. + # This is necessary since a new instance will be created for each test. + next_time = time.time() + _PRINT_WORKING_MSG_INTERVAL + + def testCheckElapsedTime(self): + # Print still working message since these tests can be really slow. + now = time.time() + if self.next_time <= now: + TimingCheck.next_time = now + self._PRINT_WORKING_MSG_INTERVAL + sys.__stdout__.write(' test_bsddb3 still working, be patient...\n') + sys.__stdout__.flush() + + def suite(): try: # this is special, it used to segfault the interpreter @@ -56,6 +81,7 @@ def suite(): module = __import__("bsddb.test."+name, globals(), locals(), name) #print module,name alltests.addTest(module.test_suite()) + alltests.addTest(unittest.makeSuite(TimingCheck)) return alltests |