diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-08-27 20:40:43 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2001-08-27 20:40:43 (GMT) |
commit | 2a8ec793533e196a92f30709c2114baacad40524 (patch) | |
tree | 4a5554a7f95e394f31e12325d02af686cf40f503 /Tools/compiler | |
parent | 33c2a627f19db0c9f5965f37e2d848e6477cd986 (diff) | |
download | cpython-2a8ec793533e196a92f30709c2114baacad40524.zip cpython-2a8ec793533e196a92f30709c2114baacad40524.tar.gz cpython-2a8ec793533e196a92f30709c2114baacad40524.tar.bz2 |
Revise regrtest to compile entire standard library.
The tests are run from a copy of the library directory, where
everything has been compiled by the compiler package.
Add a raw_input() call at the end of the script, so that I can check
the output before the temp directory with the compiled code is
removed.
Diffstat (limited to 'Tools/compiler')
-rw-r--r-- | Tools/compiler/regrtest.py | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/Tools/compiler/regrtest.py b/Tools/compiler/regrtest.py index fd990a9..1425518 100644 --- a/Tools/compiler/regrtest.py +++ b/Tools/compiler/regrtest.py @@ -21,35 +21,54 @@ def copy_test_suite(): print "Creating copy of test suite in", dest return dest +def copy_library(): + dest = tempfile.mktemp() + os.mkdir(dest) + libdir = os.path.split(test.__path__[0])[0] + os.system("cp -r %s/* %s" % (libdir, dest)) + print "Creating copy of standard library in", dest + return dest + def compile_files(dir): - print "Compiling", + print "Compiling", dir line_len = 10 for file in os.listdir(dir): base, ext = os.path.splitext(file) - if ext == '.py' and base[:4] == 'test': + if ext == '.py': source = os.path.join(dir, file) line_len = line_len + len(file) + 1 if line_len > 75: print "\n\t", line_len = len(source) + 9 print file, - compile(source) + try: + compile(source) + except SyntaxError, err: + print err + continue # make sure the .pyc file is not over-written os.chmod(source + "c", 444) + else: + path = os.path.join(dir, file) + if os.path.isdir(path): + print + compile_files(path) print -def run_regrtest(test_dir): +def run_regrtest(lib_dir): + test_dir = os.path.join(lib_dir, "test") os.chdir(test_dir) - os.system("%s -v regrtest.py" % sys.executable) + os.system("PYTHONPATH=%s %s -v regrtest.py -r" % (lib_dir, sys.executable)) def cleanup(dir): os.system("rm -rf %s" % dir) def main(): - test_dir = copy_test_suite() - compile_files(test_dir) - run_regrtest(test_dir) - cleanup(test_dir) + lib_dir = copy_library() + compile_files(lib_dir) + run_regrtest(lib_dir) + raw_input("Cleanup?") + cleanup(lib_dir) if __name__ == "__main__": main() |