[pypy-svn] r71415 - in pypy/trunk/pypy: jit/tool jit/tool/test tool

fijal at codespeak.net fijal at codespeak.net
Mon Feb 22 17:11:56 CET 2010


Author: fijal
Date: Mon Feb 22 17:11:54 2010
New Revision: 71415

Added:
   pypy/trunk/pypy/jit/tool/test/data.log.bz2   (contents, props changed)
Removed:
   pypy/trunk/pypy/jit/tool/test/data.log.tar.bz2
Modified:
   pypy/trunk/pypy/jit/tool/otherviewer.py
   pypy/trunk/pypy/jit/tool/test/test_otherviewer.py
   pypy/trunk/pypy/tool/logparser.py
Log:
* support bz2 files by default in logparser
* use this interface for testing
* replace .tar.bz2 with .bz2


Modified: pypy/trunk/pypy/jit/tool/otherviewer.py
==============================================================================
--- pypy/trunk/pypy/jit/tool/otherviewer.py	(original)
+++ pypy/trunk/pypy/jit/tool/otherviewer.py	Mon Feb 22 17:11:54 2010
@@ -142,12 +142,13 @@
     for loop in loops:
         postprocess_loop(loop, loops, memo)
 
-def main(loopfile):
+def main(loopfile, view=True):
     log = logparser.parse_log_file(loopfile)
     loops = logparser.extract_category(log, "jit-log-opt-")
     allloops = splitloops(loops)
     postprocess(allloops)
-    Page(allloops).display()
+    if view:
+        Page(allloops).display()
 
 if __name__ == '__main__':
     parser = optparse.OptionParser(usage=__doc__)

Added: pypy/trunk/pypy/jit/tool/test/data.log.bz2
==============================================================================
Binary file. No diff available.

Modified: pypy/trunk/pypy/jit/tool/test/test_otherviewer.py
==============================================================================
--- pypy/trunk/pypy/jit/tool/test/test_otherviewer.py	(original)
+++ pypy/trunk/pypy/jit/tool/test/test_otherviewer.py	Mon Feb 22 17:11:54 2010
@@ -1,6 +1,7 @@
 
+import py
 from pypy.jit.tool.otherviewer import splitloops, FinalBlock, Block,\
-     split_one_loop, postprocess
+     split_one_loop, postprocess, main
 
 def preparse(data):
     return "\n".join([i.strip() for i in data.split("\n") if i.strip()])
@@ -38,3 +39,8 @@
         real_loops = [FinalBlock("debug_merge_point('<code object _runCallbacks, file '/tmp/x/twisted-trunk/twisted/internet/defer.py', line 357> #40 POP_TOP')", None)]
         postprocess(real_loops)
         assert real_loops[0].content.startswith("_runCallbacks, file '/tmp/x/twisted-trunk/twisted/internet/defer.py', line 357")
+
+    def test_load_actual(self):
+        fname = py.path.local(__file__).join('..', 'data.log.bz2')
+        main(str(fname), view=False)
+        # assert did not explode

Modified: pypy/trunk/pypy/tool/logparser.py
==============================================================================
--- pypy/trunk/pypy/tool/logparser.py	(original)
+++ pypy/trunk/pypy/tool/logparser.py	Mon Feb 22 17:11:54 2010
@@ -9,7 +9,7 @@
 import autopath
 import sys, re
 from pypy.rlib.debug import DebugLog
-
+import bz2
 
 def parse_log_file(filename):
     r_start = re.compile(r"\[([0-9a-fA-F]+)\] \{([\w-]+)$")
@@ -19,7 +19,10 @@
     time_decrase = False
     performance_log = True
     nested = 0
-    f = open(filename, 'r')
+    try:
+        f = bz2.BZ2File(filename, 'r')
+    except:
+        f = open(filename, 'r')
     for line in f:
         line = line.rstrip()
         match = r_start.match(line)



More information about the Pypy-commit mailing list