[Python-checkins] CVS: python/dist/src/Tools/compiler regrtest.py,1.1,1.2

Jeremy Hylton jhylton@users.sourceforge.net
Mon, 27 Aug 2001 13:40:45 -0700


Update of /cvsroot/python/python/dist/src/Tools/compiler
In directory usw-pr-cvs1:/tmp/cvs-serv12242

Modified Files:
	regrtest.py 
Log Message:
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.




Index: regrtest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/compiler/regrtest.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** regrtest.py	2000/10/13 22:00:13	1.1
--- regrtest.py	2001/08/27 20:40:43	1.2
***************
*** 22,31 ****
      return dest
  
  def compile_files(dir):
!     print "Compiling",
      line_len = 10
      for file in os.listdir(dir):
          base, ext = os.path.splitext(file)
!         if ext == '.py' and base[:4] == 'test':
              source = os.path.join(dir, file)
              line_len = line_len + len(file) + 1
--- 22,39 ----
      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", dir
      line_len = 10
      for file in os.listdir(dir):
          base, ext = os.path.splitext(file)
!         if ext == '.py':
              source = os.path.join(dir, file)
              line_len = line_len + len(file) + 1
***************
*** 34,45 ****
                  line_len = len(source) + 9
              print file,
!             compile(source)
              # make sure the .pyc file is not over-written
              os.chmod(source + "c", 444)
      print
  
! def run_regrtest(test_dir):
      os.chdir(test_dir)
!     os.system("%s -v regrtest.py" % sys.executable)
  
  def cleanup(dir):
--- 42,63 ----
                  line_len = len(source) + 9
              print file,
!             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(lib_dir):
!     test_dir = os.path.join(lib_dir, "test")
      os.chdir(test_dir)
!     os.system("PYTHONPATH=%s %s -v regrtest.py -r" % (lib_dir, sys.executable))
  
  def cleanup(dir):
***************
*** 47,54 ****
  
  def main():
!     test_dir = copy_test_suite()
!     compile_files(test_dir)
!     run_regrtest(test_dir)
!     cleanup(test_dir)
  
  if __name__ == "__main__":
--- 65,73 ----
  
  def main():
!     lib_dir = copy_library()
!     compile_files(lib_dir)
!     run_regrtest(lib_dir)
!     raw_input("Cleanup?")
!     cleanup(lib_dir)
  
  if __name__ == "__main__":