[Python-checkins] r51691 - python/trunk/Lib/test/test_tokenize.py
neal.norwitz
python-checkins at python.org
Sat Sep 2 21:40:19 CEST 2006
Author: neal.norwitz
Date: Sat Sep 2 21:40:19 2006
New Revision: 51691
Modified:
python/trunk/Lib/test/test_tokenize.py
Log:
Hmm, this test has failed at least twice recently on the OpenBSD and
Debian sparc buildbots. Since this goes through a lot of tests
and hits the disk a lot it could be slow (especially if NFS is involved).
I'm not sure if that's the problem, but printing periodic msgs shouldn't hurt.
The code was stolen from test_compiler.
Modified: python/trunk/Lib/test/test_tokenize.py
==============================================================================
--- python/trunk/Lib/test/test_tokenize.py (original)
+++ python/trunk/Lib/test/test_tokenize.py Sat Sep 2 21:40:19 2006
@@ -79,13 +79,16 @@
"""
-import os, glob, random
+import os, glob, random, time, sys
from cStringIO import StringIO
from test.test_support import (verbose, findfile, is_resource_enabled,
TestFailed)
from tokenize import (tokenize, generate_tokens, untokenize, tok_name,
ENDMARKER, NUMBER, NAME, OP, STRING, COMMENT)
+# How much time in seconds can pass before we print a 'Still working' message.
+_PRINT_WORKING_MSG_INTERVAL = 5 * 60
+
# Test roundtrip for `untokenize`. `f` is a file path. The source code in f
# is tokenized, converted back to source code via tokenize.untokenize(),
# and tokenized again from the latter. The test fails if the second
@@ -164,6 +167,8 @@
if verbose:
print 'starting...'
+ next_time = time.time() + _PRINT_WORKING_MSG_INTERVAL
+
# This displays the tokenization of tokenize_tests.py to stdout, and
# regrtest.py checks that this equals the expected output (in the
# test/output/ directory).
@@ -183,6 +188,12 @@
testfiles = random.sample(testfiles, 10)
for f in testfiles:
+ # Print still working message since this test can be really slow
+ if next_time <= time.time():
+ next_time = time.time() + _PRINT_WORKING_MSG_INTERVAL
+ print >>sys.__stdout__, ' test_main still working, be patient...'
+ sys.__stdout__.flush()
+
test_roundtrip(f)
# Test detecton of IndentationError.
More information about the Python-checkins
mailing list