Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
micropython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
micropython
Commits
5e22afce
Commit
5e22afce
authored
Oct 11, 2016
by
Damien George
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tests: Improve test coverage of py/compile.c.
parent
e49153fb
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
60 additions
and
2 deletions
+60
-2
tests/basics/async_def.py
tests/basics/async_def.py
+16
-0
tests/basics/async_def.py.exp
tests/basics/async_def.py.exp
+3
-0
tests/basics/async_with.py
tests/basics/async_with.py
+3
-1
tests/basics/async_with.py.exp
tests/basics/async_with.py.exp
+1
-0
tests/basics/del_global.py
tests/basics/del_global.py
+5
-0
tests/basics/for_range.py
tests/basics/for_range.py
+5
-0
tests/basics/syntaxerror.py
tests/basics/syntaxerror.py
+4
-0
tests/basics/unpack1.py
tests/basics/unpack1.py
+1
-0
tests/cmdline/repl_basic.py
tests/cmdline/repl_basic.py
+1
-0
tests/cmdline/repl_basic.py.exp
tests/cmdline/repl_basic.py.exp
+2
-0
tests/import/import2a.py
tests/import/import2a.py
+3
-0
tests/micropython/viper_args.py
tests/micropython/viper_args.py
+8
-0
tests/misc/non_compliant.py
tests/misc/non_compliant.py
+6
-0
tests/misc/non_compliant.py.exp
tests/misc/non_compliant.py.exp
+1
-0
tests/run-tests
tests/run-tests
+1
-1
No files found.
tests/basics/async_def.py
0 → 100644
View file @
5e22afce
# test async def
def
dec
(
f
):
print
(
'decorator'
)
return
f
# test definition with a decorator
@
dec
async
def
foo
():
print
(
'foo'
)
coro
=
foo
()
try
:
coro
.
send
(
None
)
except
StopIteration
:
print
(
'StopIteration'
)
tests/basics/async_def.py.exp
0 → 100644
View file @
5e22afce
decorator
foo
StopIteration
tests/basics/async_with.py
View file @
5e22afce
...
...
@@ -3,6 +3,7 @@
class
AContext
:
async
def
__aenter__
(
self
):
print
(
'enter'
)
return
1
async
def
__aexit__
(
self
,
exc_type
,
exc
,
tb
):
print
(
'exit'
,
exc_type
,
exc
)
...
...
@@ -17,7 +18,8 @@ except StopIteration:
print
(
'finished'
)
async
def
g
():
async
with
AContext
():
async
with
AContext
()
as
ac
:
print
(
ac
)
raise
ValueError
(
'error'
)
o
=
g
()
...
...
tests/basics/async_with.py.exp
View file @
5e22afce
...
...
@@ -3,5 +3,6 @@ body
exit None None
finished
enter
1
exit <class 'ValueError'> error
ValueError
tests/basics/del_global.py
View file @
5e22afce
...
...
@@ -54,3 +54,8 @@ try:
print
(
c
)
except
NameError
:
print
(
"NameError"
)
a
=
1
b
=
2
c
=
3
del
(
a
,
(
b
,
c
))
tests/basics/for_range.py
View file @
5e22afce
...
...
@@ -34,6 +34,11 @@ try:
print
(
x
)
except
TypeError
:
print
(
'TypeError'
)
try
:
for
x
in
range
(
start
=
0
,
end
=
1
):
print
(
x
)
except
TypeError
:
print
(
'TypeError'
)
try
:
for
x
in
range
(
0
,
1
,
step
=
1
):
print
(
x
)
...
...
tests/basics/syntaxerror.py
View file @
5e22afce
...
...
@@ -49,6 +49,9 @@ test_syntax("f[0]**2 = 1")
# can't assign to empty tuple
test_syntax
(
"() = 1"
)
# can't have *x on RHS
test_syntax
(
"x = *x"
)
# can't have multiple *x on LHS
test_syntax
(
"*a, *b = c"
)
...
...
@@ -76,6 +79,7 @@ test_syntax("continue")
test_syntax
(
"return"
)
test_syntax
(
"yield"
)
test_syntax
(
"nonlocal a"
)
test_syntax
(
"await 1"
)
# error on uPy, warning on CPy
#test_syntax("def f():\n a = 1\n global a")
...
...
tests/basics/unpack1.py
View file @
5e22afce
...
...
@@ -12,6 +12,7 @@ a, b, c = range(3); print(a, b, c)
(
a
,)
=
range
(
1
);
print
(
a
)
(
a
,
b
)
=
range
(
2
);
print
(
a
,
b
)
(
a
,
b
,
c
)
=
range
(
3
);
print
(
a
,
b
,
c
)
(
a
,
(
b
,
c
))
=
[
-
1
,
range
(
2
)];
print
(
a
,
b
,
c
)
# lists
...
...
tests/cmdline/repl_basic.py
View file @
5e22afce
# basic REPL tests
print
(
1
)
[
A
2
tests/cmdline/repl_basic.py.exp
View file @
5e22afce
...
...
@@ -5,4 +5,6 @@ Use \.\+
1
>>> print(1)
1
>>> 2
2
>>>
tests/import/import2a.py
View file @
5e22afce
from
import1b
import
var
print
(
var
)
from
import1b
import
var
as
var2
print
(
var2
)
tests/micropython/viper_args.py
View file @
5e22afce
...
...
@@ -26,3 +26,11 @@ def f4(x1:int, x2:int, x3:int, x4:int):
f4
(
1
,
2
,
3
,
4
)
# only up to 4 arguments currently supported
# test compiling *x, **x, * args (currently unsupported at runtime)
@
micropython
.
viper
def
f
(
*
x
,
**
y
):
pass
@
micropython
.
viper
def
f
(
*
):
pass
tests/misc/non_compliant.py
View file @
5e22afce
...
...
@@ -3,6 +3,12 @@
import
array
import
ustruct
# when super can't find self
try
:
exec
(
'def f(): super()'
)
except
SyntaxError
:
print
(
'SyntaxError'
)
# array deletion not implemented
try
:
a
=
array
.
array
(
'b'
,
(
1
,
2
,
3
))
...
...
tests/misc/non_compliant.py.exp
View file @
5e22afce
SyntaxError
TypeError
NotImplementedError
True
...
...
tests/run-tests
View file @
5e22afce
...
...
@@ -273,7 +273,7 @@ def run_tests(pyb, tests, args):
if
args
.
emit
==
'native'
:
skip_tests
.
update
({
'basics/%s.py'
%
t
for
t
in
'gen_yield_from gen_yield_from_close gen_yield_from_ducktype gen_yield_from_exc gen_yield_from_iter gen_yield_from_send gen_yield_from_stopped gen_yield_from_throw generator1 generator2 generator_args generator_close generator_closure generator_exc generator_return generator_send'
.
split
()})
# require yield
skip_tests
.
update
({
'basics/%s.py'
%
t
for
t
in
'bytes_gen class_store_class globals_del string_join'
.
split
()})
# require yield
skip_tests
.
update
({
'basics/async_%s.py'
%
t
for
t
in
'await await2 for for2 with with2'
.
split
()})
# require yield
skip_tests
.
update
({
'basics/async_%s.py'
%
t
for
t
in
'
def
await await2 for for2 with with2'
.
split
()})
# require yield
skip_tests
.
update
({
'basics/%s.py'
%
t
for
t
in
'try_reraise try_reraise2'
.
split
()})
# require raise_varargs
skip_tests
.
update
({
'basics/%s.py'
%
t
for
t
in
'with_break with_continue with_return'
.
split
()})
# require complete with support
skip_tests
.
add
(
'basics/array_construct2.py'
)
# requires generators
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment