[pypy-commit] pypy default: xfail test_push_one_reg if we are running on a system using GNU assembler version < 2.23.
bivab
noreply at buildbot.pypy.org
Mon Apr 1 15:55:22 CEST 2013
Author: David Schneider <david.schneider at picle.org>
Branch:
Changeset: r62911:39ce9a81f240
Date: 2013-04-01 15:53 +0200
http://bitbucket.org/pypy/pypy/changeset/39ce9a81f240/
Log: xfail test_push_one_reg if we are running on a system using GNU
assembler version < 2.23.
Version 2.22 generates an alternative encoding for pushing only one
register than the one we are using
diff --git a/rpython/jit/backend/arm/test/support.py b/rpython/jit/backend/arm/test/support.py
--- a/rpython/jit/backend/arm/test/support.py
+++ b/rpython/jit/backend/arm/test/support.py
@@ -39,6 +39,11 @@
i = commands.getoutput("%s -version </dev/null -o /dev/null 2>&1" % AS)
check_skip(i)
+def get_as_version():
+ import commands
+ i = commands.getoutput("%s -v </dev/null -o /dev/null 2>&1" % AS)
+ return tuple([int(j) for j in i.split()[-1].split('.')])
+
def check_skip(inp, search='arm', msg='only for arm'):
skip = True
try:
diff --git a/rpython/jit/backend/arm/test/test_instr_codebuilder.py b/rpython/jit/backend/arm/test/test_instr_codebuilder.py
--- a/rpython/jit/backend/arm/test/test_instr_codebuilder.py
+++ b/rpython/jit/backend/arm/test/test_instr_codebuilder.py
@@ -2,7 +2,10 @@
from rpython.jit.backend.arm import codebuilder
from rpython.jit.backend.arm import conditions
from rpython.jit.backend.arm import instructions
-from rpython.jit.backend.arm.test.support import (requires_arm_as, define_test, gen_test_function)
+from rpython.jit.backend.arm.test.support import requires_arm_as
+from rpython.jit.backend.arm.test.support import get_as_version
+from rpython.jit.backend.arm.test.support import define_test
+from rpython.jit.backend.arm.test.support import gen_test_function
from gen import assemble
import py
@@ -80,6 +83,9 @@
self.assert_equal('ORR r0, r7, r12, lsl #8')
def test_push_one_reg(self):
+ if get_as_version() < (2, 23):
+ py.test.xfail("GNU as before version 2.23 generates encoding A1 for "
+ "pushing only one register")
self.cb.PUSH([r.r1.value])
self.assert_equal('PUSH {r1}')
More information about the pypy-commit
mailing list