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.
This commit is contained in:
Jeremy Hylton 2001-08-27 20:40:43 +00:00
parent 33c2a627f1
commit 2a8ec79353
1 changed files with 28 additions and 9 deletions

View File

@ -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()