From c9fa667252b8c9dd9a88ba02d012195284e36511 Mon Sep 17 00:00:00 2001 From: Damien George Date: Sun, 30 Aug 2015 12:32:26 +0100 Subject: [PATCH] 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. --- tests/misc/non_compliant.py | 41 +++++++++++++++++++++++++++++++++ tests/misc/non_compliant.py.exp | 6 +++++ 2 files changed, 47 insertions(+) create mode 100644 tests/misc/non_compliant.py create mode 100644 tests/misc/non_compliant.py.exp diff --git a/tests/misc/non_compliant.py b/tests/misc/non_compliant.py new file mode 100644 index 0000000000..ee1dcf3416 --- /dev/null +++ b/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') diff --git a/tests/misc/non_compliant.py.exp b/tests/misc/non_compliant.py.exp new file mode 100644 index 0000000000..71a982f2bb --- /dev/null +++ b/tests/misc/non_compliant.py.exp @@ -0,0 +1,6 @@ +TypeError +NotImplementedError +True +True +TypeError +NotImplementedError