Browse Source

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

This may produce a warning, depending on MicroPython configuration.
pull/2254/merge
Paul Sokolovsky 8 years ago
parent
commit
b652ee705b
  1. 1
      tests/basics/bytes_compare2.py
  2. 9
      tests/basics/bytes_compare3.py
  3. 4
      tests/basics/bytes_compare3.py.exp
  4. 3
      tests/run-tests

1
tests/basics/bytes_compare2.py

@ -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")

9
tests/basics/bytes_compare3.py

@ -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")

4
tests/basics/bytes_compare3.py.exp

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

3
tests/run-tests

@ -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

Loading…
Cancel
Save