[pypy-commit] cffi default: Test and fix for converting empty ffi's in embedding mode
arigo
pypy.commits at gmail.com
Fri Apr 15 11:55:07 EDT 2016
Author: Armin Rigo <arigo at tunes.org>
Branch:
Changeset: r2657:28bd9c90bce3
Date: 2016-04-15 17:55 +0200
http://bitbucket.org/cffi/cffi/changeset/28bd9c90bce3/
Log: Test and fix for converting empty ffi's in embedding mode
diff --git a/cffi/recompiler.py b/cffi/recompiler.py
--- a/cffi/recompiler.py
+++ b/cffi/recompiler.py
@@ -1231,7 +1231,7 @@
if c == '\n': return '\\n'
return '\\%03o' % ord(c)
lines = []
- for line in s.splitlines(True):
+ for line in s.splitlines(True) or ['']:
lines.append('"%s"' % ''.join([_char_repr(c) for c in line]))
return ' \\\n'.join(lines)
diff --git a/testing/embedding/empty.py b/testing/embedding/empty.py
new file mode 100644
--- /dev/null
+++ b/testing/embedding/empty.py
@@ -0,0 +1,10 @@
+import cffi
+
+ffi = cffi.FFI()
+
+ffi.embedding_api("")
+
+ffi.set_source("_empty_cffi", "")
+
+fn = ffi.compile(verbose=True)
+print('FILENAME: %s' % (fn,))
diff --git a/testing/embedding/test_basic.py b/testing/embedding/test_basic.py
--- a/testing/embedding/test_basic.py
+++ b/testing/embedding/test_basic.py
@@ -164,6 +164,9 @@
class TestBasic(EmbeddingTests):
+ def test_empty(self):
+ empty_cffi = self.prepare_module('empty')
+
def test_basic(self):
add1_cffi = self.prepare_module('add1')
self.compile('add1-test', [add1_cffi])
More information about the pypy-commit
mailing list