Browse Source

tests: Add tests for non-compliant behaviour.

These tests are intended to improve coverage and provide a record of
behaviour that's either not implemented or non-compliant to CPython.
pull/1446/head
Damien George 9 years ago
parent
commit
c9fa667252
  1. 41
      tests/misc/non_compliant.py
  2. 6
      tests/misc/non_compliant.py.exp

41
tests/misc/non_compliant.py

@ -0,0 +1,41 @@
# tests for things that are not implemented, or have non-compliant behaviour
import array
# array deletion not implemented
try:
a = array.array('b', (1, 2, 3))
del a[1]
except TypeError:
print('TypeError')
# slice with step!=1 not implemented
try:
a = array.array('b', (1, 2, 3))
print(a[3:2:2])
except NotImplementedError:
print('NotImplementedError')
# should raise type error
try:
print(set('12') >= '1')
except TypeError:
print('TypeError')
# should raise type error
try:
print(set('12') <= '123')
except TypeError:
print('TypeError')
# uPy raises TypeError, shold be ValueError
try:
'%c' % b'\x01\x02'
except (TypeError, ValueError):
print('TypeError, ValueError')
# attributes/subscr not implemented
try:
print('{a[0]}'.format(a=[1, 2]))
except NotImplementedError:
print('NotImplementedError')

6
tests/misc/non_compliant.py.exp

@ -0,0 +1,6 @@
TypeError
NotImplementedError
True
True
TypeError
NotImplementedError
Loading…
Cancel
Save