Commit e2bfd510 authored by Neal Norwitz's avatar Neal Norwitz

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.
parent 5056cf7a
...@@ -79,13 +79,16 @@ if (x # The comments need to go in the right place ...@@ -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(): ...@@ -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(): ...@@ -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.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment