summaryrefslogtreecommitdiff
path: root/testing/embedding
diff options
context:
space:
mode:
Diffstat (limited to 'testing/embedding')
-rw-r--r--testing/embedding/empty-test.c11
-rw-r--r--testing/embedding/empty.py9
-rw-r--r--testing/embedding/test_basic.py3
3 files changed, 22 insertions, 1 deletions
diff --git a/testing/embedding/empty-test.c b/testing/embedding/empty-test.c
new file mode 100644
index 0000000..b00dd50
--- /dev/null
+++ b/testing/embedding/empty-test.c
@@ -0,0 +1,11 @@
+#include <stdio.h>
+
+void initialize_my_empty_cffi(void);
+
+int main(void)
+{
+ initialize_my_empty_cffi();
+ printf("OK\n");
+ return 0;
+}
+
diff --git a/testing/embedding/empty.py b/testing/embedding/empty.py
index aa8d830..1093505 100644
--- a/testing/embedding/empty.py
+++ b/testing/embedding/empty.py
@@ -4,7 +4,14 @@ ffi = cffi.FFI()
ffi.embedding_api("")
-ffi.set_source("_empty_cffi", "")
+ffi.set_source("_empty_cffi", """
+void initialize_my_empty_cffi(void) {
+ if (cffi_start_python() != 0) {
+ printf("oops, cffi_start_python() returned non-0\\n");
+ abort();
+ }
+}
+""")
fn = ffi.compile(verbose=True)
print('FILENAME: %s' % (fn,))
diff --git a/testing/embedding/test_basic.py b/testing/embedding/test_basic.py
index 8d2e776..b29afd2 100644
--- a/testing/embedding/test_basic.py
+++ b/testing/embedding/test_basic.py
@@ -180,6 +180,9 @@ if sys.platform == 'win32':
class TestBasic(EmbeddingTests):
def test_empty(self):
empty_cffi = self.prepare_module('empty')
+ self.compile('empty-test', [empty_cffi])
+ output = self.execute('empty-test')
+ assert output == 'OK\n'
def test_basic(self):
add1_cffi = self.prepare_module('add1')