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>
(cherry picked from commit 8937cd065c)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Romain Naour 2024-04-30 22:47:43 +02:00 committed by Peter Korsgaard
parent f25bd45082
commit ed19064d16

View File

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