diff options
Diffstat (limited to 'tests')
| -rwxr-xr-x | tests/run-tests | 2 | ||||
| -rw-r--r-- | tests/unix/ffi_float.py | 21 | ||||
| -rw-r--r-- | tests/unix/ffi_float.py.exp | 2 |
3 files changed, 24 insertions, 1 deletions
diff --git a/tests/run-tests b/tests/run-tests index 8e7d2f257..15eedc43c 100755 --- a/tests/run-tests +++ b/tests/run-tests @@ -149,7 +149,7 @@ def main(): if args.test_dirs is None: if pyb is None: # run PC tests - test_dirs = ('basics', 'micropython', 'float', 'import', 'io', 'misc', 'unicode') + test_dirs = ('basics', 'micropython', 'float', 'import', 'io', 'misc', 'unicode', 'unix') else: # run pyboard tests test_dirs = ('basics', 'micropython', 'float', 'pyb', 'pybnative', 'inlineasm') diff --git a/tests/unix/ffi_float.py b/tests/unix/ffi_float.py new file mode 100644 index 000000000..96a5ceeca --- /dev/null +++ b/tests/unix/ffi_float.py @@ -0,0 +1,21 @@ +# test ffi float support + +import ffi + +def ffi_open(names): + err = None + for n in names: + try: + mod = ffi.open(n) + return mod + except OSError as e: + err = e + raise err + +libc = ffi_open(('libc.so', 'libc.so.0', 'libc.so.6')) + +strtof = libc.func("f", "strtof", "sp") +print('%.6f' % strtof('1.23', None)) + +strtod = libc.func("d", "strtod", "sp") +print('%.6f' % strtod('1.23', None)) diff --git a/tests/unix/ffi_float.py.exp b/tests/unix/ffi_float.py.exp new file mode 100644 index 000000000..e6fd5b729 --- /dev/null +++ b/tests/unix/ffi_float.py.exp @@ -0,0 +1,2 @@ +1.230000 +1.230000 |
