tests/bytes_compare: Rework test for bytes <-> str comparison.

This may produce a warning, depending on MicroPython configuration.
This commit is contained in:
Paul Sokolovsky 2016-07-22 12:02:04 +03:00
parent 40214b9e26
commit b652ee705b
4 changed files with 15 additions and 2 deletions

View File

@ -1,6 +1,5 @@
print(b"1" == 1)
print(b"123" == bytearray(b"123"))
print(b"123" == "123")
print(b'123' < bytearray(b"124"))
print(b'123' > bytearray(b"122"))
print(bytearray(b"23") in b"1234")

View File

@ -0,0 +1,9 @@
# Based on MicroPython config option, comparison of str and bytes
# or vice versa may issue a runtime warning. On CPython, if run as
# "python3 -b", only comparison of str to bytes issues a warning,
# not the other way around (while exactly comparison of bytes to
# str would be the most common error, as in sock.recv(3) == "GET").
# Update: the issue above with CPython apparently happens in REPL,
# when run as a script, both lines issue a warning.
print("123" == b"123")
print(b"123" == "123")

View File

@ -0,0 +1,4 @@
########
False
########
False

View File

@ -27,9 +27,10 @@ def rm_f(fname):
os.remove(fname)
def run_micropython(pyb, args, test_file):
special_tests = ('micropython/meminfo.py', 'basics/bytes_compare3.py')
if pyb is None:
# run on PC
if test_file.startswith(('cmdline/', 'feature_check/')) or test_file == 'micropython/meminfo.py':
if test_file.startswith(('cmdline/', 'feature_check/')) or test_file in special_tests :
# special handling for tests of the unix cmdline program
# check for any cmdline options needed for this test