[pypy-commit] pypy asmmemmgr-for-code-only: Mark a couple of tests xfail on OpenBSD (and apply half a fix).

vext01 pypy.commits at gmail.com
Wed Aug 24 19:07:19 EDT 2016


Author: Edd Barrett <vext01 at gmail.com>
Branch: asmmemmgr-for-code-only
Changeset: r86512:e50cf5d2ead3
Date: 2016-08-25 00:02 +0100
http://bitbucket.org/pypy/pypy/changeset/e50cf5d2ead3/

Log:	Mark a couple of tests xfail on OpenBSD (and apply half a fix).

	libdl is not used on OpenBSD for sure, but these tests still fail
	when invoking dlopen() for some reason I can't figure out.

	I'm not sure this is related to W^X but it may be.

diff --git a/rpython/jit/backend/test/runner_test.py b/rpython/jit/backend/test/runner_test.py
--- a/rpython/jit/backend/test/runner_test.py
+++ b/rpython/jit/backend/test/runner_test.py
@@ -1,4 +1,5 @@
 import py, sys, random, os, struct, operator
+import pytest
 from rpython.jit.metainterp.history import (AbstractFailDescr,
                                          AbstractDescr,
                                          BasicFailDescr,
@@ -2599,6 +2600,8 @@
         deadframe2 = self.cpu.force(frame)
         assert self.cpu.get_int_value(deadframe2, 0) == 30
 
+    @pytest.mark.xfail(sys.platform.startswith("openbsd"),
+                       reason="something wrong with CDLL()")
     def test_call_to_c_function(self):
         from rpython.rlib.libffi import CDLL, types, ArgChain, FUNCFLAG_CDECL
         from rpython.rtyper.lltypesystem.ll2ctypes import libc_name
@@ -2625,6 +2628,8 @@
         assert fail.identifier == 0
         assert self.cpu.get_int_value(deadframe, 0) == ord('g')
 
+    @pytest.mark.xfail(sys.platform.startswith("openbsd"),
+                       reason="something wrong with CDLL()")
     def test_call_to_c_function_with_callback(self):
         from rpython.rlib.libffi import CDLL, types, ArgChain, clibffi
         from rpython.rtyper.lltypesystem.ll2ctypes import libc_name
diff --git a/rpython/rlib/rdynload.py b/rpython/rlib/rdynload.py
--- a/rpython/rlib/rdynload.py
+++ b/rpython/rlib/rdynload.py
@@ -17,6 +17,7 @@
 _MAC_OS = platform.name == "darwin"
 _FREEBSD = sys.platform.startswith("freebsd")
 _NETBSD = sys.platform.startswith("netbsd")
+_OPENBSD = sys.platform.startswith("openbsd")
 
 if _WIN32:
     from rpython.rlib import rwin32
@@ -29,7 +30,7 @@
 else:
     pre_include_bits = []
 
-if _FREEBSD or _NETBSD or _WIN32:
+if _OPENBSD or _FREEBSD or _NETBSD or _WIN32:
     libraries = []
 else:
     libraries = ['dl']


More information about the pypy-commit mailing list