diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2014-02-16 15:07:25 -0700 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2014-02-16 15:07:25 -0700 |
commit | ddcb49e5f779a9e42356914b9ec4162b722d4ab0 (patch) | |
tree | c60ddd79ccbeec804ec839ede1ab9858de404f2b /numpy/f2py/tests | |
parent | 2868dc4a0513f58eafc013f3ba3d84ae07113199 (diff) | |
download | numpy-ddcb49e5f779a9e42356914b9ec4162b722d4ab0.tar.gz |
BUG: #4256: f2py, PyString_FromStringAndSize is undefined in Python3.
Use PyUString_FromStringAndSize defined in npy_3kcompat instead. Not
using bytes may cause some problems, but strings seem like a better
choice. As modules generated with current f2py error out, this
particular use is not common and we are free to choose.
Closes #4256.
Diffstat (limited to 'numpy/f2py/tests')
-rw-r--r-- | numpy/f2py/tests/test_callback.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/numpy/f2py/tests/test_callback.py b/numpy/f2py/tests/test_callback.py index 98a90a28c..16464140f 100644 --- a/numpy/f2py/tests/test_callback.py +++ b/numpy/f2py/tests/test_callback.py @@ -34,6 +34,17 @@ cf2py intent(out) a external fun call fun(a) end + + subroutine string_callback(callback, a) + external callback + double precision callback + double precision a + character*1 r +cf2py intent(out) a + r = 'r' + a = callback(r) + end + """ @dec.slow @@ -103,6 +114,19 @@ cf2py intent(out) a r = t(a.mth) assert_( r==9, repr(r)) + def test_string_callback(self): + + def callback(code): + if code == 'r': + return 0 + else: + return 1 + + f = getattr(self.module, 'string_callback') + r = f(callback) + assert_(r == 0, repr(r)) + + if __name__ == "__main__": import nose nose.runmodule() |