[Buildroot] [git commit branch/2022.02.x] support/testing/tests/package/test_python_crossbar: use ext2 instead of cpio

Peter Korsgaard peter at korsgaard.com
Mon Nov 14 10:22:17 UTC 2022


commit: https://git.buildroot.net/buildroot/commit/?id=f6b4677c7bf47345b8a3406c8b673070e9fbe8f0
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2022.02.x

The CPIO filesystem generated by the test_python_crossbar test is too
large, and doesn't fit as an initramfs in the 256MB of RAM available
in the versatilepb machine. This causes a "Initramfs unpacking failed:
write error" when booting, and many files being missing from the root
filesystem, ultimately causing the test to fail.

It would make sense to switch all test cases to use ext2 + a
hard-drive, but for now, let's fix the few test cases that are causing
problems.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/3249828587

Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
(cherry picked from commit e7930708a3b1e429ea605f4544564b29313b0a7b)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 support/testing/tests/package/test_python_crossbar.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/support/testing/tests/package/test_python_crossbar.py b/support/testing/tests/package/test_python_crossbar.py
index 83649aeec2..178b16be82 100644
--- a/support/testing/tests/package/test_python_crossbar.py
+++ b/support/testing/tests/package/test_python_crossbar.py
@@ -1,4 +1,5 @@
 from tests.package.test_python import TestPythonPackageBase
+import os
 
 
 class TestPythonPy3Crossbar(TestPythonPackageBase):
@@ -13,8 +14,16 @@ class TestPythonPy3Crossbar(TestPythonPackageBase):
         BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y
         BR2_PACKAGE_PYTHON3=y
         BR2_PACKAGE_PYTHON_CROSSBAR=y
-        BR2_TARGET_ROOTFS_CPIO=y
-        # BR2_TARGET_ROOTFS_TAR is not set
+        BR2_TARGET_ROOTFS_EXT2=y
+        BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
         """
     sample_scripts = ["tests/package/sample_python_crossbar.py"]
     timeout = 60
+
+    def login(self):
+        ext2_file = os.path.join(self.builddir, "images", "rootfs.ext2")
+        self.emulator.boot(arch="armv5",
+                           kernel="builtin",
+                           options=["-drive", "file=%s,if=scsi,format=raw" % ext2_file],
+                           kernel_cmdline=["rootwait", "root=/dev/sda"])
+        self.emulator.login()



More information about the buildroot mailing list