Commit 12c66be2 authored by Damien George's avatar Damien George
Browse files

tests: Add some tests to improve coverage.

Used gcov to find some parts of vm.c, runtime.c, obj.c that were not
covered by any tests.  Still need to use gcov more thoroughly.
parent 81e70a88
# test builtin hash function
print(hash(False))
print(hash(True))
print({():1}) # hash tuple
print({1 << 66:1}) # hash big int
print(hash in {hash:1}) # hash function
try:
hash([])
except TypeError:
print("TypeError")
class A:
def __hash__(self):
return 123
......
# del global
def do_del():
global x
del x
x = 1
print(x)
do_del()
try:
print(x)
except NameError:
print("NameError")
try:
do_del()
except: # NameError:
# FIXME uPy returns KeyError for this
print("NameError")
# del global
# del name
x = 1
print(x)
......
......@@ -129,5 +129,9 @@ def f():
x125 = 1
x126 = 1
f()
def g():
x = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,]
g()
print(int(False))
print(int(True))
print(int(0))
print(int(1))
print(int(+1))
......
......@@ -49,6 +49,15 @@ print(a)
# This would overflow
#a -= 1
# negative shifts are not allowed
try:
a << -1
except ValueError:
print("ValueError")
try:
a >> -1
except ValueError:
print("ValueError")
# Shifts to big amounts are undefined behavior in C and is CPU-specific
......
x = 1
print(+x)
print(-x)
print(~x)
print(not None)
print(not False)
print(not True)
......
# negative power should produce float
x = 2
print(x ** -2)
x = 3
x **= -2
print(x)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment