summaryrefslogtreecommitdiffstatshomepage
path: root/tests/misc/non_compliant.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2015-08-30 12:32:26 +0100
committerDamien George <damien.p.george@gmail.com>2015-08-30 12:32:26 +0100
commitc9fa667252b8c9dd9a88ba02d012195284e36511 (patch)
tree7b64ec8e9d6699da70070bd7063107b40e7910ca /tests/misc/non_compliant.py
parentc2ec2ad8fbbd684d2820dbdc1f1198a8cd7f64e0 (diff)
downloadmicropython-c9fa667252b8c9dd9a88ba02d012195284e36511.tar.gz
micropython-c9fa667252b8c9dd9a88ba02d012195284e36511.zip
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.
Diffstat (limited to 'tests/misc/non_compliant.py')
-rw-r--r--tests/misc/non_compliant.py41
1 files changed, 41 insertions, 0 deletions
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')