summaryrefslogtreecommitdiff
path: root/testing/cffi1
diff options
context:
space:
mode:
Diffstat (limited to 'testing/cffi1')
-rw-r--r--testing/cffi1/test_cffi_binary.py8
-rw-r--r--testing/cffi1/test_re_python.py4
-rw-r--r--testing/cffi1/test_verify1.py4
3 files changed, 10 insertions, 6 deletions
diff --git a/testing/cffi1/test_cffi_binary.py b/testing/cffi1/test_cffi_binary.py
index 7cfbace..45421ed 100644
--- a/testing/cffi1/test_cffi_binary.py
+++ b/testing/cffi1/test_cffi_binary.py
@@ -1,10 +1,11 @@
import py, sys, os
import _cffi_backend
+from testing.support import is_musl
def test_no_unknown_exported_symbols():
if not hasattr(_cffi_backend, '__file__'):
py.test.skip("_cffi_backend module is built-in")
- if not sys.platform.startswith('linux'):
+ if not sys.platform.startswith('linux') or is_musl:
py.test.skip("linux-only")
g = os.popen("objdump -T '%s'" % _cffi_backend.__file__, 'r')
for line in g:
@@ -17,6 +18,9 @@ def test_no_unknown_exported_symbols():
name = line.split()[-1]
if name.startswith('_') or name.startswith('.'):
continue
- if name not in ('init_cffi_backend', 'PyInit__cffi_backend'):
+ # a statically-linked libffi will always appear here without header hackage, ignore it if it's internal
+ if name.startswith('ffi_') and 'Base' in line:
+ continue
+ if name not in ('init_cffi_backend', 'PyInit__cffi_backend', 'cffistatic_ffi_call'):
raise Exception("Unexpected exported name %r" % (name,))
g.close()
diff --git a/testing/cffi1/test_re_python.py b/testing/cffi1/test_re_python.py
index 2ae0dd1..45dd70c 100644
--- a/testing/cffi1/test_re_python.py
+++ b/testing/cffi1/test_re_python.py
@@ -3,7 +3,7 @@ import py
from cffi import FFI
from cffi import recompiler, ffiplatform, VerificationMissing
from testing.udir import udir
-from testing.support import u
+from testing.support import u, is_musl
def setup_module(mod):
@@ -269,7 +269,7 @@ def test_selfref():
def test_dlopen_handle():
import _cffi_backend
from re_python_pysrc import ffi
- if sys.platform == 'win32':
+ if sys.platform == 'win32' or is_musl:
py.test.skip("uses 'dl' explicitly")
ffi1 = FFI()
ffi1.cdef("""void *dlopen(const char *filename, int flags);
diff --git a/testing/cffi1/test_verify1.py b/testing/cffi1/test_verify1.py
index 33244cc..45df2b3 100644
--- a/testing/cffi1/test_verify1.py
+++ b/testing/cffi1/test_verify1.py
@@ -4,7 +4,7 @@ from cffi import FFI, FFIError, VerificationError, VerificationMissing, model
from cffi import CDefError
from cffi import recompiler
from testing.support import *
-from testing.support import _verify, extra_compile_args
+from testing.support import _verify, extra_compile_args, is_musl
import _cffi_backend
lib_m = ['m']
@@ -1571,7 +1571,7 @@ def test_keepalive_ffi():
assert func() == 42
def test_FILE_stored_in_stdout():
- if not sys.platform.startswith('linux'):
+ if not sys.platform.startswith('linux') or is_musl:
py.test.skip("likely, we cannot assign to stdout")
ffi = FFI()
ffi.cdef("int printf(const char *, ...); FILE *setstdout(FILE *);")