123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import os
- import infra.basetest
- class TestPerlBase(infra.basetest.BRTest):
- config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
- """
- BR2_TARGET_ROOTFS_CPIO=y
- # BR2_TARGET_ROOTFS_TAR is not set
- """
- def login(self):
- cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
- self.emulator.boot(arch="armv5",
- kernel="builtin",
- options=["-initrd", cpio_file])
- self.emulator.login()
- def module_test(self, module, script="1"):
- cmd = "perl -M{} -e '{}'".format(module, script)
- _, exit_code = self.emulator.run(cmd)
- self.assertEqual(exit_code, 0)
- class TestPerl(TestPerlBase):
- config = TestPerlBase.config + \
- """
- BR2_PACKAGE_PERL=y
- """
- def version_test(self):
- cmd = "perl -v"
- output, exit_code = self.emulator.run(cmd)
- self.assertEqual(exit_code, 0)
- self.assertIn("This is perl 5", output[1])
- def core_modules_test(self):
- self.module_test("Cwd")
- self.module_test("Data::Dumper")
- self.module_test("Devel::Peek")
- self.module_test("Digest::MD5")
- self.module_test("Digest::SHA")
- self.module_test("Encode")
- self.module_test("Fcntl")
- self.module_test("File::Glob")
- self.module_test("Hash::Util")
- self.module_test("I18N::Langinfo")
- self.module_test("IO::Handle")
- self.module_test("IPC::SysV")
- self.module_test("List::Util")
- self.module_test("MIME::Base64")
- self.module_test("POSIX")
- self.module_test("Socket")
- self.module_test("Storable")
- self.module_test("Sys::Hostname")
- self.module_test("Sys::Syslog")
- self.module_test("Time::HiRes")
- self.module_test("Time::Piece")
- self.module_test("Unicode::Collate")
- self.module_test("Unicode::Normalize")
- def test_run(self):
- self.login()
- self.version_test()
- self.core_modules_test()
|