Message ID | 20240204093148.11282-1-ju.o@free.fr |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] support/testing: micropython: add micropython-lib test | expand |
Julien, All, On 2024-02-04 10:31 +0100, Julien Olivain spake thusly: > Commit 8f403f0 "package/micropython-lib: merge with, and install > as part of micropython" brought micropython library within the > package. > > This commit improves the micropython runtime test by enabling the > micropython-lib and by also adding a runtime test using one of its > module. I added a little blurb explaining why we can't use the gzip module itself to generate the compressed file. > Signed-off-by: Julien Olivain <ju.o@free.fr> Applied to master, thanks. Regards, Yann E. MORIN. > --- > support/testing/tests/package/test_micropython.py | 13 ++++++++++++- > .../test_micropython/rootfs-overlay/root/zcat.py | 15 +++++++++++++++ > 2 files changed, 27 insertions(+), 1 deletion(-) > create mode 100755 support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py > > 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]) > -- > 2.43.0 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
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])
Commit 8f403f0 "package/micropython-lib: merge with, and install as part of micropython" brought micropython library within the package. This commit improves the micropython runtime test by enabling the micropython-lib and by also adding a runtime test using one of its module. Signed-off-by: Julien Olivain <ju.o@free.fr> --- support/testing/tests/package/test_micropython.py | 13 ++++++++++++- .../test_micropython/rootfs-overlay/root/zcat.py | 15 +++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 support/testing/tests/package/test_micropython/rootfs-overlay/root/zcat.py