summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorArmin Rigo <armin.rigo@gmail.com>2017-02-06 08:24:36 +0000
committerArmin Rigo <armin.rigo@gmail.com>2017-02-06 08:24:36 +0000
commit2ad2c47b3b76da0d683cd5bb5c404ff7100b535b (patch)
treeea427fc6b6688d74b38db6594ec7514bd7cdaf08 /testing
parent12f134111b1d1a0dd1f90b3b8f0d2d9b883fe3d4 (diff)
parentd005405f433e4ef9e4a12412c83421b78e3cff68 (diff)
downloadcffi-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.py17
-rw-r--r--testing/cffi0/test_ffi_backend.py6
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)