diff --git a/support/testing/tests/package/test_micropython.py b/support/testing/tests/package/test_micropython.py index 0ecd4790bd..371deb2978 100644 --- a/support/testing/tests/package/test_micropython.py +++ b/support/testing/tests/package/test_micropython.py @@ -7,6 +7,7 @@ class TestMicroPython(infra.basetest.BRTest): config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ f""" BR2_PACKAGE_MICROPYTHON=y + BR2_PACKAGE_MICROPYTHON_LIB=y BR2_ROOTFS_OVERLAY="{infra.filepath("tests/package/test_micropython/rootfs-overlay")}" BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set @@ -64,5 +65,15 @@ class TestMicroPython(infra.basetest.BRTest): output = self.run_upy_code(py_code) self.assertEqual(output[0], expected_output) - # Finally, Check a small script can execute. + # Check a small script can execute. self.assertRunOk("/root/mandel.py", timeout=10) + + # Check we can use a micropython-lib module. + msg = "Hello Buildroot!" + filename = "file.txt" + gz_filename = f"{filename}.gz" + self.assertRunOk(f"echo '{msg}' > {filename}") + self.assertRunOk(f"gzip {filename}") + out, ret = self.emulator.run(f"/root/zcat.py {gz_filename}") + self.assertEqual(ret, 0) + self.assertEqual(out[0], msg) diff --git a/support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py b/support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py new file mode 100755 index 0000000000..3b8c60bdd1 --- /dev/null +++ b/support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py @@ -0,0 +1,15 @@ +#! /usr/bin/env micropython + +import gzip +import sys + + +def main(fname): + with open(fname, "rb") as f: + with gzip.GzipFile(fileobj=f) as g: + s = g.read() + print(s.decode("UTF-8"), end="") + + +if __name__ == "__main__": + main(sys.argv[1])