浏览代码

support/testing: TestPerlDBDmysql: use ext2 instead of cpio

The CPIO filesystem generated by TestPerlDBDmysql is too large, and
doesn't fit as an initramfs in the 256MB of RAM available in the
versatilepb machine. This causes a failure while running a basic
test "perl -MDBI -e '1'" since "/usr/lib/perl5", and many files
being missing from the root filesystem, ultimately causing the test
to fail.

Can't locate DBI.pm in @INC (you may need to install the DBI module)
(@INC entries checked: /usr/lib/perl5/site_perl/5.38.2/arm-linux
/usr/lib/perl5/site_perl/5.38.2 /usr/lib/perl5/5.38.2/arm-linux
/usr/lib/perl5/5.38.2).

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/6735654506

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Romain Naour 1 年之前
父节点
当前提交
8937cd065c
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      support/testing/tests/package/test_perl_dbd_mysql.py

+ 11 - 0
support/testing/tests/package/test_perl_dbd_mysql.py

@@ -1,4 +1,5 @@
 from tests.package.test_perl import TestPerlBase
+import os
 
 
 class TestPerlDBDmysql(TestPerlBase):
@@ -13,8 +14,18 @@ class TestPerlDBDmysql(TestPerlBase):
         """
         BR2_PACKAGE_PERL=y
         BR2_PACKAGE_PERL_DBD_MYSQL=y
+        BR2_TARGET_ROOTFS_EXT2=y
+        BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
         """
 
+    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()
+
     def test_run(self):
         self.login()
         self.module_test("DBI")