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>
This commit is contained in:
Romain Naour 2024-04-30 22:47:43 +02:00 committed by Thomas Petazzoni
parent aae8ebc9a5
commit 8937cd065c

View File

@ -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")