mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
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.
This commit is contained in:
parent
681d86743c
commit
c1120b4b66
1 changed files with 12 additions and 1 deletions
|
@ -79,13 +79,16 @@ if (x # The comments need to go in the right place
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os, glob, random
|
import os, glob, random, time, sys
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
from test.test_support import (verbose, findfile, is_resource_enabled,
|
from test.test_support import (verbose, findfile, is_resource_enabled,
|
||||||
TestFailed)
|
TestFailed)
|
||||||
from tokenize import (tokenize, generate_tokens, untokenize, tok_name,
|
from tokenize import (tokenize, generate_tokens, untokenize, tok_name,
|
||||||
ENDMARKER, NUMBER, NAME, OP, STRING, COMMENT)
|
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
|
# Test roundtrip for `untokenize`. `f` is a file path. The source code in f
|
||||||
# is tokenized, converted back to source code via tokenize.untokenize(),
|
# is tokenized, converted back to source code via tokenize.untokenize(),
|
||||||
# and tokenized again from the latter. The test fails if the second
|
# and tokenized again from the latter. The test fails if the second
|
||||||
|
@ -164,6 +167,8 @@ def test_main():
|
||||||
if verbose:
|
if verbose:
|
||||||
print 'starting...'
|
print 'starting...'
|
||||||
|
|
||||||
|
next_time = time.time() + _PRINT_WORKING_MSG_INTERVAL
|
||||||
|
|
||||||
# This displays the tokenization of tokenize_tests.py to stdout, and
|
# This displays the tokenization of tokenize_tests.py to stdout, and
|
||||||
# regrtest.py checks that this equals the expected output (in the
|
# regrtest.py checks that this equals the expected output (in the
|
||||||
# test/output/ directory).
|
# test/output/ directory).
|
||||||
|
@ -183,6 +188,12 @@ def test_main():
|
||||||
testfiles = random.sample(testfiles, 10)
|
testfiles = random.sample(testfiles, 10)
|
||||||
|
|
||||||
for f in testfiles:
|
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_roundtrip(f)
|
||||||
|
|
||||||
# Test detecton of IndentationError.
|
# Test detecton of IndentationError.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue