Files
micropython/tests/basics/sys1.py
Damien George f5b4545761 py/modsys: Add sys.implementation._build entry.
For a given MicroPython firmware/executable it can be sometimes important
to know how it was built, which variant/board configuration it came from.

This commit adds a new field `sys.implementation._build` that can help
identify the configuration that MicroPython was built with.

For now it's either:
* <VARIANT> for unix, webassembly and windows ports
* <BOARD>-<VARIANT> for microcontroller ports (the variant is optional)

In the future additional elements may be added to this string, separated by
a hyphen.

Resolves issue #16498.

Signed-off-by: Damien George <damien@micropython.org>
2025-03-05 12:23:40 +11:00

47 lines
920 B
Python

# test sys module
import sys
print(sys.__name__)
print(type(sys.path))
print(type(sys.argv))
print(sys.byteorder in ('little', 'big'))
try:
print(sys.maxsize > 100)
except AttributeError:
# Effectively skip subtests
print(True)
try:
print(sys.implementation.name in ('cpython', 'micropython'))
except AttributeError:
# Effectively skip subtests
print(True)
if hasattr(sys.implementation, '_mpy'):
print(type(sys.implementation._mpy))
else:
# Effectively skip subtests
print(int)
if hasattr(sys.implementation, '_build'):
print(type(sys.implementation._build))
else:
# Effectively skip subtests
print(str)
try:
print(sys.intern('micropython') == 'micropython')
has_intern = True
except AttributeError:
has_intern = False
print(True)
if has_intern:
try:
print(sys.intern(0))
except TypeError:
print(True)
else:
print(True)