Merge branch 'gmazzamuto-pybuf_test'

* gmazzamuto-pybuf_test:
  pybuffer: don't use the old deprecated buffer protocol for Python 3
  Enable test case for python_pybuf
This commit is contained in:
William S Fulton 2018-08-12 14:19:40 +01:00
commit 33f3dbb005
3 changed files with 53 additions and 19 deletions

View file

@ -66,6 +66,7 @@ CPP_TEST_CASES += \
python_moduleimport \
python_overload_simple_cast \
python_pickle \
python_pybuf \
python_pythoncode \
python_richcompare \
python_strict_unicode \
@ -77,7 +78,6 @@ CPP_TEST_CASES += \
# li_std_carray
# director_profile
# python_pybuf
CPP11_TEST_CASES = \
cpp11_hash_tables \

View file

@ -1,8 +1,10 @@
# run:
# python python_pybuf_runme3.py benchmark
# python python_pybuf_runme.py benchmark
# for the benchmark, other wise the test case will be run
import python_pybuf
import sys
if len(sys.argv) >= 2 and sys.argv[1] == "benchmark":
# run the benchmark
import time
@ -11,31 +13,31 @@ if len(sys.argv) >= 2 and sys.argv[1] == "benchmark":
t = time.time()
a = bytearray(b'hello world')
for i in range(k):
pybuf.title1(a)
print("Time used by bytearray:", time.time() - t)
python_pybuf.title1(a)
print "Time used by bytearray:", time.time() - t
t = time.time()
b = 'hello world'
for i in range(k):
pybuf.title2(b)
print("Time used by string:", time.time() - t)
python_pybuf.title2(b)
print "Time used by string:", time.time() - t
else:
# run the test case
buf1 = bytearray(10)
buf2 = bytearray(50)
pybuf.func1(buf1)
python_pybuf.func1(buf1)
assert buf1 == b'a' * 10
pybuf.func2(buf2)
python_pybuf.func2(buf2)
assert buf2.startswith(b"Hello world!\x00")
count = pybuf.func3(buf2)
count = python_pybuf.func3(buf2)
assert count == 10 # number of alpha and number in 'Hello world!'
length = pybuf.func4(buf2)
length = python_pybuf.func4(buf2)
assert length == 12
buf3 = bytearray(b"hello")
pybuf.title1(buf3)
python_pybuf.title1(buf3)
assert buf3 == b'Hello'