summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Tools/compiler/regrtest.py37
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()