/trunk/Examples/test-suite/python/python_pybuf_runme3.py
Python | 42 lines | 29 code | 8 blank | 5 comment | 5 complexity | f6dd67b94f7fa2200a5fca401632cbac MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- #run:
- # python python_pybuf_runme3.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
- k=1000000 #number of times to excute the functions
- t=time.time()
- a = bytearray(b'hello world')
- for i in range(k):
- 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)
- else:
- #run the test case
- buf1 = bytearray(10)
- buf2 = bytearray(50)
- pybuf.func1(buf1)
- assert buf1 == b'a'*10
- pybuf.func2(buf2)
- assert buf2.startswith(b"Hello world!\x00")
- count = pybuf.func3(buf2)
- assert count==10 #number of alpha and number in 'Hello world!'
- length = pybuf.func4(buf2)
- assert length==12
- buf3 = bytearray(b"hello")
- pybuf.title1(buf3)
- assert buf3==b'Hello'
-