summaryrefslogtreecommitdiff
path: root/tests/basics/op_error.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-02-14 16:50:20 +1100
committerDamien George <damien.p.george@gmail.com>2018-02-14 16:50:20 +1100
commit04c55f582866b700c5c39158ee76a1b970b71375 (patch)
tree2ba6bef5a0dc00f671d9c1959eb214890d5a80a2 /tests/basics/op_error.py
parent6031957473a15f62ecbe59b9d27e58e9d06a4d8a (diff)
tests: Rewrite some tests so they can run without needing eval/exec.
For builds without the compiler enabled (and hence without eval/exec) it is useful to still be able to run as many tests as possible.
Diffstat (limited to 'tests/basics/op_error.py')
-rw-r--r--tests/basics/op_error.py99
1 files changed, 72 insertions, 27 deletions
diff --git a/tests/basics/op_error.py b/tests/basics/op_error.py
index b30b5f0a3..7b4f896e1 100644
--- a/tests/basics/op_error.py
+++ b/tests/basics/op_error.py
@@ -1,44 +1,89 @@
# test errors from bad operations (unary, binary, etc)
-def test_exc(code, exc):
- try:
- exec(code)
- print("no exception")
- except exc:
- print("right exception")
- except:
- print("wrong exception")
-
# unsupported unary operators
-test_exc("~None", TypeError)
-test_exc("~''", TypeError)
-test_exc("~[]", TypeError)
-test_exc("~bytearray()", TypeError)
+try:
+ ~None
+except TypeError:
+ print('TypeError')
+try:
+ ~''
+except TypeError:
+ print('TypeError')
+try:
+ ~[]
+except TypeError:
+ print('TypeError')
+try:
+ ~bytearray()
+except TypeError:
+ print('TypeError')
# unsupported binary operators
-test_exc("False in True", TypeError)
-test_exc("1 * {}", TypeError)
-test_exc("1 in 1", TypeError)
-test_exc("bytearray() // 2", TypeError)
+try:
+ False in True
+except TypeError:
+ print('TypeError')
+try:
+ 1 * {}
+except TypeError:
+ print('TypeError')
+try:
+ 1 in 1
+except TypeError:
+ print('TypeError')
+try:
+ bytearray() // 2
+except TypeError:
+ print('TypeError')
# object with buffer protocol needed on rhs
-test_exc("bytearray(1) + 1", TypeError)
+try:
+ bytearray(1) + 1
+except TypeError:
+ print('TypeError')
# unsupported subscription
-test_exc("1[0]", TypeError)
-test_exc("1[0] = 1", TypeError)
-test_exc("''['']", TypeError)
-test_exc("'a'[0] = 1", TypeError)
-test_exc("del 1[0]", TypeError)
+try:
+ 1[0]
+except TypeError:
+ print('TypeError')
+try:
+ 1[0] = 1
+except TypeError:
+ print('TypeError')
+try:
+ ''['']
+except TypeError:
+ print('TypeError')
+try:
+ 'a'[0] = 1
+except TypeError:
+ print('TypeError')
+try:
+ del 1[0]
+except TypeError:
+ print('TypeError')
# not callable
-test_exc("1()", TypeError)
+try:
+ 1()
+except TypeError:
+ print('TypeError')
# not an iterator
-test_exc("next(1)", TypeError)
+try:
+ next(1)
+except TypeError:
+ print('TypeError')
# must be an exception type
-test_exc("raise 1", TypeError)
+try:
+ raise 1
+except TypeError:
+ print('TypeError')
# no such name in import
-test_exc("from sys import youcannotimportmebecauseidontexist", ImportError)
+try:
+ from sys import youcannotimportmebecauseidontexist
+except ImportError:
+ print('ImportError')