diff options
| author | Armin Rigo <armin.rigo@gmail.com> | 2017-02-06 08:24:36 +0000 |
|---|---|---|
| committer | Armin Rigo <armin.rigo@gmail.com> | 2017-02-06 08:24:36 +0000 |
| commit | 2ad2c47b3b76da0d683cd5bb5c404ff7100b535b (patch) | |
| tree | ea427fc6b6688d74b38db6594ec7514bd7cdaf08 /testing | |
| parent | 12f134111b1d1a0dd1f90b3b8f0d2d9b883fe3d4 (diff) | |
| parent | d005405f433e4ef9e4a12412c83421b78e3cff68 (diff) | |
| download | cffi-2ad2c47b3b76da0d683cd5bb5c404ff7100b535b.tar.gz | |
Merged in coronafire/cffi/buffer_richcompare (pull request #76)
Add richcompare to buffer objects
Diffstat (limited to 'testing')
| -rw-r--r-- | testing/cffi0/backend_tests.py | 17 | ||||
| -rw-r--r-- | testing/cffi0/test_ffi_backend.py | 6 |
2 files changed, 20 insertions, 3 deletions
diff --git a/testing/cffi0/backend_tests.py b/testing/cffi0/backend_tests.py index 8eb279d..cf25512 100644 --- a/testing/cffi0/backend_tests.py +++ b/testing/cffi0/backend_tests.py @@ -1226,6 +1226,23 @@ class BackendTests: assert list(a)[:1000] + [0] * (len(a)-1000) == list(b) f.close() + def test_ffi_buffer_comparisons(self): + ffi = FFI(backend=self.Backend()) + ba = bytearray(range(100, 110)) + a = ffi.new("uint8_t[]", list(ba)) + try: + b_full = ffi.buffer(a) + b_short = ffi.buffer(a, 3) + b_mid = ffi.buffer(a, 6) + except NotImplementedError as e: + py.test.skip(str(e)) + else: + content = b_full[:] + assert content == b_full == ba + assert b_short < b_mid < b_full + assert ba > b_mid > ba[0:2] + assert b_short != ba[1:4] + def test_array_in_struct(self): ffi = FFI(backend=self.Backend()) ffi.cdef("struct foo_s { int len; short data[5]; };") diff --git a/testing/cffi0/test_ffi_backend.py b/testing/cffi0/test_ffi_backend.py index f9d66de..b387adb 100644 --- a/testing/cffi0/test_ffi_backend.py +++ b/testing/cffi0/test_ffi_backend.py @@ -191,10 +191,10 @@ class TestBitfield: s = ffi.new("struct s1 *") setattr(s, name, value) assert getattr(s, name) == value - raw1 = ffi.buffer(s)[:] + buff1 = ffi.buffer(s) t = lib.try_with_value(fnames.index(name), value) - raw2 = ffi.buffer(t, len(raw1))[:] - assert raw1 == raw2 + buff2 = ffi.buffer(t, len(buff1)) + assert buff1 == buff2 def test_bitfield_basic(self): self.check("int a; int b:9; int c:20; int y;", 8, 4, 12) |
