diff mbox series

support/testing: add test for pixz

Message ID 20220713172006.26411-1-vincent.stehle@laposte.net
State Accepted
Headers show
Series support/testing: add test for pixz | expand

Commit Message

Vincent Stehlé July 13, 2022, 5:20 p.m. UTC
Add a simple compress-uncompress test to verify that pixz is working.

Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
---


Hi,

I have verified that this test works fine locally and on gitlab.
Best regards,

Vincent.


 DEVELOPERS                                 |  1 +
 support/testing/tests/package/test_pixz.py | 40 ++++++++++++++++++++++
 2 files changed, 41 insertions(+)
 create mode 100644 support/testing/tests/package/test_pixz.py

Comments

Yann E. MORIN July 16, 2022, 10:01 p.m. UTC | #1
Vincent, All,

On 2022-07-13 19:20 +0200, Vincent Stehlé via buildroot spake thusly:
> Add a simple compress-uncompress test to verify that pixz is working.
> 
> Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> 
> 
> Hi,
> 
> I have verified that this test works fine locally and on gitlab.
> Best regards,
> 
> Vincent.
> 
> 
>  DEVELOPERS                                 |  1 +
>  support/testing/tests/package/test_pixz.py | 40 ++++++++++++++++++++++
>  2 files changed, 41 insertions(+)
>  create mode 100644 support/testing/tests/package/test_pixz.py
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 0afd697b6c..9a740d650d 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2917,6 +2917,7 @@ F:	configs/uevm5432_defconfig
>  F:	package/i7z/
>  F:	package/msr-tools/
>  F:	package/pixz/
> +F:	support/testing/tests/package/test_pixz.py
>  
>  N:	Vinicius Tinti <viniciustinti@gmail.com>
>  F:	package/python-thrift/
> diff --git a/support/testing/tests/package/test_pixz.py b/support/testing/tests/package/test_pixz.py
> new file mode 100644
> index 0000000000..eeff10eaa1
> --- /dev/null
> +++ b/support/testing/tests/package/test_pixz.py
> @@ -0,0 +1,40 @@
> +import os
> +
> +import infra.basetest
> +
> +
> +class TestPixz(infra.basetest.BRTest):
> +    config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
> +        """
> +        BR2_PACKAGE_PIXZ=y
> +        BR2_TARGET_ROOTFS_CPIO=y
> +        # BR2_TARGET_ROOTFS_TAR is not set
> +        """
> +
> +    def test_run(self):
> +        cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
> +        self.emulator.boot(arch="armv5",
> +                           kernel="builtin",
> +                           options=["-initrd", cpio_file])
> +        self.emulator.login()
> +
> +        # Prepare input file with random data and zeroes.
> +        # We keep the size small (4 MB) for the sake of test time.
> +        cmd = "dd if=/dev/urandom of=orig bs=1M count=2 && " \
> +              "dd if=/dev/zero of=orig bs=1M count=2 seek=2"
> +        self.assertRunOk(cmd)
> +
> +        # Compress.
> +        # We ask for 3 threads for good measure but with a very small file on a
> +        # uniprocessor qemu this is only a light validation.
> +        cmd = "cp -v orig compressed && pixz -p 3 compressed"
> +        self.assertRunOk(cmd, timeout=60)
> +
> +        # Uncompress.
> +        cmd = "cp -v compressed.xz uncompressed.xz && pixz -d uncompressed.xz"
> +        self.assertRunOk(cmd)
> +
> +        # Verify.
> +        # The ls is there for debugging.
> +        cmd = "ls -l && cmp orig uncompressed"
> +        self.assertRunOk(cmd)
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 0afd697b6c..9a740d650d 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2917,6 +2917,7 @@  F:	configs/uevm5432_defconfig
 F:	package/i7z/
 F:	package/msr-tools/
 F:	package/pixz/
+F:	support/testing/tests/package/test_pixz.py
 
 N:	Vinicius Tinti <viniciustinti@gmail.com>
 F:	package/python-thrift/
diff --git a/support/testing/tests/package/test_pixz.py b/support/testing/tests/package/test_pixz.py
new file mode 100644
index 0000000000..eeff10eaa1
--- /dev/null
+++ b/support/testing/tests/package/test_pixz.py
@@ -0,0 +1,40 @@ 
+import os
+
+import infra.basetest
+
+
+class TestPixz(infra.basetest.BRTest):
+    config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
+        """
+        BR2_PACKAGE_PIXZ=y
+        BR2_TARGET_ROOTFS_CPIO=y
+        # BR2_TARGET_ROOTFS_TAR is not set
+        """
+
+    def test_run(self):
+        cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
+        self.emulator.boot(arch="armv5",
+                           kernel="builtin",
+                           options=["-initrd", cpio_file])
+        self.emulator.login()
+
+        # Prepare input file with random data and zeroes.
+        # We keep the size small (4 MB) for the sake of test time.
+        cmd = "dd if=/dev/urandom of=orig bs=1M count=2 && " \
+              "dd if=/dev/zero of=orig bs=1M count=2 seek=2"
+        self.assertRunOk(cmd)
+
+        # Compress.
+        # We ask for 3 threads for good measure but with a very small file on a
+        # uniprocessor qemu this is only a light validation.
+        cmd = "cp -v orig compressed && pixz -p 3 compressed"
+        self.assertRunOk(cmd, timeout=60)
+
+        # Uncompress.
+        cmd = "cp -v compressed.xz uncompressed.xz && pixz -d uncompressed.xz"
+        self.assertRunOk(cmd)
+
+        # Verify.
+        # The ls is there for debugging.
+        cmd = "ls -l && cmp orig uncompressed"
+        self.assertRunOk(cmd)