3dc324d3f1
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.
89 lines
2.4 KiB
Python
89 lines
2.4 KiB
Python
try:
|
|
extra_coverage
|
|
except NameError:
|
|
print("SKIP")
|
|
raise SystemExit
|
|
|
|
import uerrno
|
|
import uio
|
|
|
|
data = extra_coverage()
|
|
|
|
# test hashing of str/bytes that have an invalid hash
|
|
print(data[0], data[1])
|
|
print(hash(data[0]))
|
|
print(hash(data[1]))
|
|
print(hash(bytes(data[0], "utf8")))
|
|
print(hash(str(data[1], "utf8")))
|
|
|
|
# test streams
|
|
stream = data[2] # has set_error and set_buf. Write always returns error
|
|
stream.set_error(uerrno.EAGAIN) # non-blocking error
|
|
print(stream.read()) # read all encounters non-blocking error
|
|
print(stream.read(1)) # read 1 byte encounters non-blocking error
|
|
print(stream.readline()) # readline encounters non-blocking error
|
|
print(stream.readinto(bytearray(10))) # readinto encounters non-blocking error
|
|
print(stream.write(b"1")) # write encounters non-blocking error
|
|
print(stream.write1(b"1")) # write1 encounters non-blocking error
|
|
stream.set_buf(b"123")
|
|
print(stream.read(4)) # read encounters non-blocking error after successful reads
|
|
stream.set_buf(b"123")
|
|
print(stream.read1(4)) # read1 encounters non-blocking error after successful reads
|
|
stream.set_buf(b"123")
|
|
print(stream.readline(4)) # readline encounters non-blocking error after successful reads
|
|
try:
|
|
print(stream.ioctl(0, 0)) # ioctl encounters non-blocking error; raises OSError
|
|
except OSError:
|
|
print("OSError")
|
|
stream.set_error(0)
|
|
print(stream.ioctl(0, bytearray(10))) # successful ioctl call
|
|
|
|
stream2 = data[3] # is textio
|
|
print(stream2.read(1)) # read 1 byte encounters non-blocking error with textio stream
|
|
|
|
# test BufferedWriter with stream errors
|
|
stream.set_error(uerrno.EAGAIN)
|
|
buf = uio.BufferedWriter(stream, 8)
|
|
print(buf.write(bytearray(16)))
|
|
|
|
# test basic import of frozen scripts
|
|
import frzstr1
|
|
|
|
print(frzstr1.__file__)
|
|
import frzmpy1
|
|
|
|
print(frzmpy1.__file__)
|
|
|
|
# test import of frozen packages with __init__.py
|
|
import frzstr_pkg1
|
|
|
|
print(frzstr_pkg1.__file__, frzstr_pkg1.x)
|
|
import frzmpy_pkg1
|
|
|
|
print(frzmpy_pkg1.__file__, frzmpy_pkg1.x)
|
|
|
|
# test import of frozen packages without __init__.py
|
|
from frzstr_pkg2.mod import Foo
|
|
|
|
print(Foo.x)
|
|
from frzmpy_pkg2.mod import Foo
|
|
|
|
print(Foo.x)
|
|
|
|
# test raising exception in frozen script
|
|
try:
|
|
import frzmpy2
|
|
except ZeroDivisionError:
|
|
print("ZeroDivisionError")
|
|
|
|
# test loading a resource from a frozen string
|
|
import uio
|
|
|
|
buf = uio.resource_stream("frzstr_pkg2", "mod.py")
|
|
print(buf.read(21))
|
|
|
|
# test for MP_QSTR_NULL regression
|
|
from frzqstr import returns_NULL
|
|
|
|
print(returns_NULL())
|