Переглянути джерело

support/testing/tests/package/test_python_crossbar: use ext2 instead of cpio

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@bootlin.com>
(cherry picked from commit e7930708a3b1e429ea605f4544564b29313b0a7b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Thomas Petazzoni 2 роки тому
батько
коміт
647e433e5e
1 змінених файлів з 11 додано та 2 видалено
  1. 11 2
      support/testing/tests/package/test_python_crossbar.py

+ 11 - 2
support/testing/tests/package/test_python_crossbar.py

@@ -1,4 +1,5 @@
 from tests.package.test_python import TestPythonPackageBase
 from tests.package.test_python import TestPythonPackageBase
+import os
 
 
 
 
 class TestPythonPy3Crossbar(TestPythonPackageBase):
 class TestPythonPy3Crossbar(TestPythonPackageBase):
@@ -13,8 +14,16 @@ class TestPythonPy3Crossbar(TestPythonPackageBase):
         BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y
         BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV5_EABI_GLIBC_STABLE=y
         BR2_PACKAGE_PYTHON3=y
         BR2_PACKAGE_PYTHON3=y
         BR2_PACKAGE_PYTHON_CROSSBAR=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"]
     sample_scripts = ["tests/package/sample_python_crossbar.py"]
     timeout = 60
     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()