summaryrefslogtreecommitdiff
path: root/tests/micropython/viper_error.py
diff options
context:
space:
mode:
authorDavid Lechner <david@lechnology.com>2020-03-22 21:26:08 -0500
committerDamien George <damien.p.george@gmail.com>2020-03-30 13:21:58 +1100
commit3dc324d3f1312e40d3a8ed87e7244966bb756f26 (patch)
tree94ff44f8eabba0039582c245b901173597edd11e /tests/micropython/viper_error.py
parent488613bca6c460340ed2995ae5cafafe22d0bfff (diff)
tests: Format all Python code with black, except tests in basics subdir.
This adds the Python files in the tests/ directory to be formatted with ./tools/codeformat.py. The basics/ subdirectory is excluded for now so we aren't changing too much at once. In a few places `# fmt: off`/`# fmt: on` was used where the code had special formatting for readability or where the test was actually testing the specific formatting.
Diffstat (limited to 'tests/micropython/viper_error.py')
-rw-r--r--tests/micropython/viper_error.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/tests/micropython/viper_error.py b/tests/micropython/viper_error.py
index ff32f5473..790f3d75c 100644
--- a/tests/micropython/viper_error.py
+++ b/tests/micropython/viper_error.py
@@ -1,11 +1,13 @@
# test syntax and type errors specific to viper code generation
+
def test(code):
try:
exec(code)
except (SyntaxError, ViperTypeError, NotImplementedError) as e:
print(repr(e))
+
# viper: annotations must be identifiers
test("@micropython.viper\ndef f(a:1): pass")
test("@micropython.viper\ndef f() -> 1: pass")
@@ -14,30 +16,36 @@ test("@micropython.viper\ndef f() -> 1: pass")
test("@micropython.viper\ndef f(x:unknown_type): pass")
# local used before type known
-test("""
+test(
+ """
@micropython.viper
def f():
print(x)
x = 1
-""")
+"""
+)
# type mismatch storing to local
-test("""
+test(
+ """
@micropython.viper
def f():
x = 1
y = []
x = y
-""")
+"""
+)
# can't implicitly convert type to bool
-test("""
+test(
+ """
@micropython.viper
def f():
x = ptr(0)
if x:
pass
-""")
+"""
+)
# incorrect return type
test("@micropython.viper\ndef f() -> int: return []")