author | Erik Trauschke <Erik.Trauschke@oracle.com> |
Wed, 23 Sep 2015 14:00:51 -0700 | |
changeset 4894 | 7219201c1b0d |
parent 1846 | df40919e04fa |
child 5486 | fc535b316139 |
permissions | -rw-r--r-- |
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
1 |
|
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
2 |
The testsuite makes some incorrect assumptions: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
3 |
|
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
4 |
- Don't use the -pthread flag for compilation; as Studio doesn't have any |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
5 |
clue what to do with it, and we don't need it on Solaris, anyway. |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
6 |
|
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
7 |
- We need to not assume "a standard gcc", so replace the -Werror flag |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
8 |
with -errwarn to turn on the warnings are expected to cause compilation |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
9 |
to fail. Also, there is no equivalent for -Wconversion in Studio, so turn |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
10 |
off testing for conversion errors. |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
11 |
|
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
12 |
- don't assume that enums can be unsigned or are the same size as long: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
13 |
|
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
14 |
https://bitbucket.org/cffi/cffi/issue/143/test_enum_size-makes-invalid-assumptions |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
15 |
|
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
16 |
- There is one test helper in test_recompiler where we suddenly try to do C++ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
17 |
but without changing the compiler executable. This works in gcc but not with |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
18 |
Studio. Furthermore, this test seems to be still in debugging mode since it |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
19 |
is part of an "if 1:" loop. |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
20 |
|
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
21 |
- Don't force the use of gcc when compiling a test shared object; get |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
22 |
that passed in from the makefile. |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
23 |
|
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
24 |
|
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
25 |
--- cffi-1.1.2/testing/cffi0/callback_in_thread.py 2015-06-09 03:04:07.000000000 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
26 |
+++ cffi-1.1.2/testing/cffi0/callback_in_thread.py 2015-08-11 10:56:22.822161292 -0700 |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
27 |
@@ -22,7 +22,7 @@ |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
28 |
pthread_create(&thread, NULL, my_wait_function, (void*)mycb); |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
29 |
return 0; |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
30 |
} |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
31 |
- """, extra_compile_args=['-pthread']) |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
32 |
+ """) |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
33 |
seen = [] |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
34 |
@ffi.callback('int(*)(int,int)') |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
35 |
def mycallback(x, y): |
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
36 |
--- cffi-1.1.2/testing/cffi0/test_verify.py 2015-06-09 03:04:07.000000000 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
37 |
+++ cffi-1.1.2/testing/cffi0/test_verify.py 2015-08-12 14:17:18.300215250 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
38 |
@@ -18,6 +18,9 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
39 |
extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion'] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
40 |
# special things for clang |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
41 |
extra_compile_args.append('-Qunused-arguments') |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
42 |
+ elif (sys.platform == 'sunos5'): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
43 |
+ extra_compile_args = ["-errtags=yes", |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
44 |
+ "-errwarn=E_ASSIGNMENT_TYPE_MISMATCH,E_RETURN_VALUE_TYPE_MISMATCH"] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
45 |
else: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
46 |
# assume a standard gcc |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
47 |
extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion'] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
48 |
@@ -95,6 +98,11 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
49 |
py.test.skip("needs GCC or Clang") |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
50 |
ffi = FFI() |
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
51 |
ffi.cdef(cdef) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
52 |
+ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
53 |
+ if sys.platform == 'sunos5': |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
54 |
+ lib = ffi.verify(source, **kargs) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
55 |
+ return lib |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
56 |
+ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
57 |
py.test.raises(VerificationError, ffi.verify, source, **kargs) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
58 |
extra_compile_args_orig = extra_compile_args[:] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
59 |
extra_compile_args.remove('-Wconversion') |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
60 |
@@ -1737,13 +1745,13 @@ |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
61 |
('-123', 4, -1), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
62 |
('-2147483647-1', 4, -1), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
63 |
] |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
64 |
- if FFI().sizeof("long") == 8: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
65 |
+ if FFI().sizeof("long") == 8 and sys.platform != 'sunos5': |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
66 |
cases += [('4294967296L', 8, 2**64-1), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
67 |
('%dUL' % (2**64-1), 8, 2**64-1), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
68 |
('-2147483649L', 8, -1), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
69 |
('%dL-1L' % (1-2**63), 8, -1)] |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
70 |
for hidden_value, expected_size, expected_minus1 in cases: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
71 |
- if sys.platform == 'win32' and 'U' in hidden_value: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
72 |
+ if sys.platform in ('win32', 'sunos5') and 'U' in hidden_value: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
73 |
continue # skipped on Windows |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
74 |
ffi = FFI() |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
75 |
ffi.cdef("enum foo_e { AA, BB, ... };") |
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
76 |
@@ -1768,7 +1776,7 @@ |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
77 |
(maxulong, -1, ''), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
78 |
(-1, 0xffffffff, 'U'), |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
79 |
(-1, maxulong, 'UL')]: |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
80 |
- if c2c and sys.platform == 'win32': |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
81 |
+ if c2c and sys.platform in ('win32', 'sunos5'): |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
82 |
continue # enums may always be signed with MSVC |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
83 |
ffi = FFI() |
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
84 |
ffi.cdef("enum foo_e { AA=%s };" % c1) |
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
85 |
--- cffi-1.1.2/testing/cffi1/test_new_ffi_1.py 2015-06-09 03:04:07.000000000 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
86 |
+++ cffi-1.1.2/testing/cffi1/test_new_ffi_1.py 2015-08-12 15:18:12.105387245 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
87 |
@@ -81,6 +81,10 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
88 |
DEFS = DEFS.replace('data[0]', 'data[1]') # not supported |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
89 |
CCODE = (DEFS + "\n#pragma pack(push,1)\n" + DEFS_PACKED + |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
90 |
"\n#pragma pack(pop)\n") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
91 |
+ elif sys.platform == "sunos5": |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
92 |
+ DEFS = DEFS.replace('data[0]', 'data[1]') # not supported |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
93 |
+ CCODE = (DEFS + |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
94 |
+ DEFS_PACKED.replace('/*here*/', '__attribute__((packed))')) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
95 |
else: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
96 |
CCODE = (DEFS + |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
97 |
DEFS_PACKED.replace('/*here*/', '__attribute__((packed))')) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
98 |
@@ -893,9 +897,9 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
99 |
assert ffi.cast("enum foq", 0) != ffi.cast("enum bar", 0) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
100 |
assert ffi.cast("enum bar", 0) != ffi.cast("int", 0) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
101 |
assert repr(ffi.cast("enum bar", -1)) == "<cdata 'enum bar' -1: CC1>" |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
102 |
- assert repr(ffi.cast("enum foq", -1)) == ( # enums are unsigned, if |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
103 |
- "<cdata 'enum foq' 4294967295>") or ( # they contain no neg value |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
104 |
- sys.platform == "win32") # (but not on msvc) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
105 |
+ assert repr(ffi.cast("enum foq", -1)) == ( # enums are unsigned, if |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
106 |
+ "<cdata 'enum foq' 4294967295>") or ( # they contain no neg value |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
107 |
+ sys.platform in ("win32", "sunos5")) # (but not on msvc or SS) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
108 |
# enum baz { A2=0x1000, B2=0x2000 }; |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
109 |
assert ffi.string(ffi.cast("enum baz", 0x1000)) == "A2" |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
110 |
assert ffi.string(ffi.cast("enum baz", 0x2000)) == "B2" |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
111 |
@@ -1011,7 +1015,7 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
112 |
def test_bitfield_enum(self): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
113 |
# typedef enum { AA1, BB1, CC1 } foo_e_t; |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
114 |
# typedef struct { foo_e_t f:2; } bfenum_t; |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
115 |
- if sys.platform == "win32": |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
116 |
+ if sys.platform in ("win32", "sunos5"): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
117 |
py.test.skip("enums are not unsigned") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
118 |
s = ffi.new("bfenum_t *") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
119 |
s.f = 2 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
120 |
@@ -1211,7 +1215,7 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
121 |
assert repr(p.a).startswith("<cdata 'int[2]' 0x") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
122 |
|
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
123 |
def test_struct_containing_array_varsize_workaround(self): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
124 |
- if sys.platform == "win32": |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
125 |
+ if sys.platform in ("win32", "sunos5"): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
126 |
py.test.skip("array of length 0 not supported") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
127 |
# struct array0 { int len; short data[0]; }; |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
128 |
p = ffi.new("char[]", ffi.sizeof("struct array0") + 7 * SIZE_OF_SHORT) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
129 |
--- cffi-1.1.2/testing/cffi1/test_recompiler.py 2015-06-09 03:04:10.000000000 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
130 |
+++ cffi-1.1.2/testing/cffi1/test_recompiler.py 2015-08-11 11:08:16.757848317 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
131 |
@@ -20,7 +20,7 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
132 |
kwds.setdefault('undef_macros', ['NDEBUG']) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
133 |
module_name = '_CFFI_' + module_name |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
134 |
ffi.set_source(module_name, source) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
135 |
- if 1: # test the .cpp mode too |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
136 |
+ if 0: # test the .cpp mode too |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
137 |
kwds.setdefault('source_extension', '.cpp') |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
138 |
source = 'extern "C" {\n%s\n}' % (source,) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
139 |
return recompiler._verify(ffi, module_name, source, *args, **kwds) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
140 |
--- cffi-1.1.2/testing/cffi1/test_verify1.py 2015-06-09 03:04:07.000000000 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
141 |
+++ cffi-1.1.2/testing/cffi1/test_verify1.py 2015-08-12 15:02:07.774160223 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
142 |
@@ -18,6 +18,9 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
143 |
extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion'] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
144 |
# special things for clang |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
145 |
extra_compile_args.append('-Qunused-arguments') |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
146 |
+ elif (sys.platform == 'sunos5'): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
147 |
+ extra_compile_args = ["-errtags=yes", |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
148 |
+ "-errwarn=E_ASSIGNMENT_TYPE_MISMATCH,E_RETURN_VALUE_TYPE_MISMATCH"] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
149 |
else: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
150 |
# assume a standard gcc |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
151 |
extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion'] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
152 |
@@ -75,6 +77,10 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
153 |
py.test.skip("needs GCC or Clang") |
1846
df40919e04fa
PSARC/2014/110 CFFI: foreign function interface for Python calling C code
Danek Duvall <danek.duvall@oracle.com>
parents:
diff
changeset
|
154 |
ffi = FFI() |
4894
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
155 |
ffi.cdef(cdef) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
156 |
+ if sys.platform == 'sunos5': |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
157 |
+ lib = ffi.verify(source, **kargs) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
158 |
+ return lib |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
159 |
+ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
160 |
py.test.raises(VerificationError, ffi.verify, source, **kargs) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
161 |
extra_compile_args_orig = extra_compile_args[:] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
162 |
extra_compile_args.remove('-Wconversion') |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
163 |
@@ -1726,13 +1732,13 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
164 |
('-123', 4, -1), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
165 |
('-2147483647-1', 4, -1), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
166 |
] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
167 |
- if FFI().sizeof("long") == 8: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
168 |
+ if FFI().sizeof("long") == 8 and sys.platform != 'sunos5': |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
169 |
cases += [('4294967296L', 8, 2**64-1), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
170 |
('%dUL' % (2**64-1), 8, 2**64-1), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
171 |
('-2147483649L', 8, -1), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
172 |
('%dL-1L' % (1-2**63), 8, -1)] |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
173 |
for hidden_value, expected_size, expected_minus1 in cases: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
174 |
- if sys.platform == 'win32' and 'U' in hidden_value: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
175 |
+ if sys.platform in ('win32', 'sunos5') and 'U' in hidden_value: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
176 |
continue # skipped on Windows |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
177 |
ffi = FFI() |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
178 |
ffi.cdef("enum foo_e { AA, BB, ... };") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
179 |
@@ -1740,7 +1746,7 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
180 |
assert lib.AA == 0 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
181 |
assert lib.BB == eval(hidden_value.replace('U', '').replace('L', '')) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
182 |
assert ffi.sizeof("enum foo_e") == expected_size |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
183 |
- if sys.platform != 'win32': |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
184 |
+ if sys.platform not in ('win32', 'sunos5'): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
185 |
assert int(ffi.cast("enum foo_e", -1)) == expected_minus1 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
186 |
# test with the large value hidden: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
187 |
# disabled so far, doesn't work |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
188 |
@@ -1759,7 +1765,7 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
189 |
(0xffffffff, 'U'), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
190 |
(maxulong, 'UL'), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
191 |
(-int(maxulong / 3), 'L')]: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
192 |
- if c2c and sys.platform == 'win32': |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
193 |
+ if c2c and sys.platform in ('win32', 'sunos5'): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
194 |
continue # enums may always be signed with MSVC |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
195 |
ffi = FFI() |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
196 |
ffi.cdef("enum foo_e { AA };") |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
197 |
--- cffi-1.1.2/testing/cffi0/test_ownlib.py 2015-06-09 03:04:07.000000000 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
198 |
+++ cffi-1.1.2/testing/cffi0/test_ownlib.py 2015-08-12 13:55:21.239982926 -0700 |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
199 |
@@ -1,4 +1,4 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
200 |
-import py, sys |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
201 |
+import os, py, sys |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
202 |
import subprocess, weakref |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
203 |
from cffi import FFI |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
204 |
from cffi.backend_ctypes import CTypesBackend |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
205 |
@@ -102,7 +102,6 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
206 |
from testing.udir import udir |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
207 |
udir.join('testownlib.c').write(SOURCE) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
208 |
if sys.platform == 'win32': |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
209 |
- import os |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
210 |
# did we already build it? |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
211 |
if os.path.exists(str(udir.join('testownlib.dll'))): |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
212 |
cls.module = str(udir.join('testownlib.dll')) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
213 |
@@ -129,7 +128,7 @@ |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
214 |
cls.module = str(udir.join('testownlib.dll')) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
215 |
else: |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
216 |
subprocess.check_call( |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
217 |
- 'gcc testownlib.c -shared -fPIC -o testownlib.so', |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
218 |
+ os.getenv('TESTOWNLIB_CC') % ('testownlib.c', 'testownlib.so'), |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
219 |
cwd=str(udir), shell=True) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
220 |
cls.module = str(udir.join('testownlib.so')) |
7219201c1b0d
21157026 CFFI should be updated to >1.1.0
Erik Trauschke <Erik.Trauschke@oracle.com>
parents:
1846
diff
changeset
|
221 |