5e04521251
This demonstrates how to add a sub-package in a user c module, as well as how to define the necessary qstrs and enable the feature in the build. This is used by the unix coverage build to test this feature. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
225 lines
2.9 KiB
Plaintext
225 lines
2.9 KiB
Plaintext
# mp_printf
|
|
-123 +123 123
|
|
-0123
|
|
123
|
|
123
|
|
1ABCDEF
|
|
ab abc ' abc' ' True' 'Tru'
|
|
|
|
false true
|
|
(null)
|
|
-2147483648
|
|
2147483648
|
|
80000000
|
|
80000000
|
|
abc
|
|
%
|
|
# GC
|
|
0
|
|
0
|
|
# GC part 2
|
|
pass
|
|
# tracked allocation
|
|
m_tracked_head = 0
|
|
0 1
|
|
1 1
|
|
2 1
|
|
3 1
|
|
4 1
|
|
5 1
|
|
6 1
|
|
7 1
|
|
0 1
|
|
1 1
|
|
2 1
|
|
3 1
|
|
4 1
|
|
5 1
|
|
6 1
|
|
7 1
|
|
m_tracked_head = 0
|
|
# vstr
|
|
tests
|
|
sts
|
|
|
|
test
|
|
tes
|
|
RuntimeError:
|
|
RuntimeError:
|
|
# repl
|
|
ame__
|
|
mport
|
|
|
|
builtins micropython _thread _uasyncio
|
|
btree cexample cmath cppexample
|
|
example_package ffi framebuf
|
|
gc math termios uarray
|
|
ubinascii ucollections ucryptolib uctypes
|
|
uerrno uhashlib uheapq uio
|
|
ujson umachine uos urandom
|
|
ure uselect usocket ussl
|
|
ustruct usys utime utimeq
|
|
uwebsocket uzlib
|
|
ime
|
|
|
|
utime utimeq
|
|
|
|
argv atexit byteorder exc_info
|
|
executable exit getsizeof implementation
|
|
maxsize modules path platform
|
|
print_exception ps1 ps2
|
|
stderr stdin stdout tracebacklimit
|
|
version version_info
|
|
ementation
|
|
# attrtuple
|
|
(start=1, stop=2, step=3)
|
|
# str
|
|
1
|
|
# bytearray
|
|
data
|
|
# mpz
|
|
1
|
|
12345678
|
|
0
|
|
0
|
|
0
|
|
0
|
|
0
|
|
1
|
|
12345
|
|
6
|
|
# runtime utils
|
|
TypeError: unsupported type for __abs__: 'str'
|
|
TypeError: unsupported types for __divmod__: 'str', 'str'
|
|
1
|
|
2
|
|
OverflowError: overflow converting long int to machine word
|
|
OverflowError: overflow converting long int to machine word
|
|
ValueError:
|
|
Warning: test
|
|
# format float
|
|
?
|
|
+1e+00
|
|
+1e+00
|
|
# binary
|
|
123
|
|
456
|
|
# VM
|
|
2 1
|
|
# scheduler
|
|
sched(0)=1
|
|
sched(1)=1
|
|
sched(2)=1
|
|
sched(3)=1
|
|
sched(4)=0
|
|
unlocked
|
|
0
|
|
1
|
|
2
|
|
3
|
|
KeyboardInterrupt:
|
|
KeyboardInterrupt:
|
|
10
|
|
# ringbuf
|
|
99 0
|
|
98 1
|
|
22
|
|
99 0
|
|
97 2
|
|
aa55
|
|
99 0
|
|
0 99
|
|
-1
|
|
1 98
|
|
-1
|
|
2 97
|
|
0
|
|
cc99
|
|
99 0
|
|
0
|
|
11bb
|
|
0
|
|
22ff
|
|
-1
|
|
-1
|
|
# pairheap
|
|
create: 0 0 0 0
|
|
pop all: 0 1 2 3
|
|
create: 7 6 5 4 3 2 1 0
|
|
pop all: 0 1 2 3 4 5 6 7
|
|
create: 1 - - 1 1 1 1 1 1
|
|
pop all: 1 2
|
|
create: 1 1 1 1 2 2
|
|
pop all: 2 4
|
|
create: 1 1 1 1 1
|
|
pop all: 1 3 4
|
|
create: 3 3 3 1 1 1
|
|
pop all: 1 2 4 5
|
|
# mp_obj_is_type
|
|
1 1
|
|
0 0
|
|
1 1
|
|
1 1
|
|
0 0
|
|
1 1
|
|
# end coverage.c
|
|
0123456789 b'0123456789'
|
|
7300
|
|
7300
|
|
7300
|
|
7300
|
|
None
|
|
None
|
|
None
|
|
None
|
|
None
|
|
None
|
|
b'123'
|
|
b'123'
|
|
b'123'
|
|
OSError
|
|
0
|
|
None
|
|
None
|
|
cpp None
|
|
(3, 'hellocpp')
|
|
frzstr1
|
|
frzstr1.py
|
|
frzmpy1
|
|
frzmpy1.py
|
|
frzstr_pkg1.__init__
|
|
frzstr_pkg1/__init__.py 1
|
|
frzmpy_pkg1.__init__
|
|
frzmpy_pkg1/__init__.py 1
|
|
frzstr_pkg2.mod
|
|
1
|
|
frzmpy_pkg2.mod
|
|
1
|
|
ZeroDivisionError
|
|
\
|
|
|
|
X
|
|
'\x1b'
|
|
b'\x00\xff'
|
|
NULL
|
|
uPy
|
|
a long string that is not interned
|
|
a string that has unicode αβγ chars
|
|
b'bytes 1234\x01'
|
|
123456789
|
|
0
|
|
1
|
|
2
|
|
3
|
|
frozentest.py
|
|
example_package.__init__
|
|
<module 'example_package.foo.bar'>
|
|
example_package.foo.bar.f
|
|
<module 'example_package'> <module 'example_package.foo'> <module 'example_package.foo.bar'>
|
|
example_package.f
|
|
example_package.foo.f
|
|
example_package.foo.bar.f
|
|
True
|
|
example_package.foo.f
|
|
True
|