[pypy-commit] pypy win32-fixes5: skip tests if no objdump available

mattip noreply at buildbot.pypy.org
Fri Sep 12 14:07:36 CEST 2014


Author: mattip <matti.picus at gmail.com>
Branch: win32-fixes5
Changeset: r73501:6e4b2dfe8ed7
Date: 2014-08-29 00:24 +0300
http://bitbucket.org/pypy/pypy/changeset/6e4b2dfe8ed7/

Log:	skip tests if no objdump available

diff --git a/rpython/tool/jitlogparser/test/test_parser.py b/rpython/tool/jitlogparser/test/test_parser.py
--- a/rpython/tool/jitlogparser/test/test_parser.py
+++ b/rpython/tool/jitlogparser/test/test_parser.py
@@ -5,6 +5,7 @@
 from rpython.tool.jitlogparser.storage import LoopStorage
 import py, sys
 from rpython.jit.backend.detect_cpu import autodetect
+from rpython.jit.backend.tool.viewcode import ObjdumpNotFound
 
 def parse(input, **kwds):
     return SimpleParser.parse_from_input(input, **kwds)
@@ -193,7 +194,8 @@
         py.test.skip('x86 only test')
     backend_dump = "554889E5534154415541564157488DA500000000488B042590C5540148C7042590C554010000000048898570FFFFFF488B042598C5540148C7042598C554010000000048898568FFFFFF488B0425A0C5540148C70425A0C554010000000048898560FFFFFF488B0425A8C5540148C70425A8C554010000000048898558FFFFFF4C8B3C2550525B0149BB30E06C96FC7F00004D8B334983C60149BB30E06C96FC7F00004D89334981FF102700000F8D000000004983C7014C8B342580F76A024983EE014C89342580F76A024983FE000F8C00000000E9AEFFFFFF488B042588F76A024829E0483B042580EC3C01760D49BB05F30894FC7F000041FFD3554889E5534154415541564157488DA550FFFFFF4889BD70FFFFFF4889B568FFFFFF48899560FFFFFF48898D58FFFFFF4D89C7E954FFFFFF49BB00F00894FC7F000041FFD34440484C3D030300000049BB00F00894FC7F000041FFD34440484C3D070304000000"
     dump_start = 0x7f3b0b2e63d5
-    loop = parse("""
+    try:
+        loop = parse("""
     # Loop 0 : loop with 19 ops
     [p0, p1, p2, p3, i4]
     debug_merge_point(0, 0, '<code object f. file 'x.py'. line 2> #15 COMPARE_OP')
@@ -212,6 +214,8 @@
     +218: --end of the loop--""", backend_dump=backend_dump,
                  dump_start=dump_start,
                  backend_tp='x86_64')
+    except ObjdumpNotFound:
+        py.test.skip('no objdump found on path')
     cmp = loop.operations[1]
     assert 'jge' in cmp.asm
     assert '0x2710' in cmp.asm
@@ -276,8 +280,11 @@
         py.test.skip('x86 only test')
     _, loops = import_log(str(py.path.local(__file__).join('..',
                                                            'logtest.log')))
-    for loop in loops:
-        loop.force_asm()
+    try:
+        for loop in loops:
+            loop.force_asm()
+    except ObjdumpNotFound:
+        py.test.skip('no objdump found on path')
     assert 'jge' in loops[0].operations[3].asm
 
 def test_import_log_2():
@@ -285,8 +292,11 @@
         py.test.skip('x86 only test')
     _, loops = import_log(str(py.path.local(__file__).join('..',
                                                            'logtest2.log')))
-    for loop in loops:
-        loop.force_asm()
+    try:
+        for loop in loops:
+            loop.force_asm()
+    except ObjdumpNotFound:
+        py.test.skip('no objdump found on path')
     assert 'cmp' in loops[1].operations[2].asm
 
 def test_Op_repr_is_pure():


More information about the pypy-commit mailing list