12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import os
- import infra.basetest
- class TestLxc(infra.basetest.BRTest):
- config = \
- """
- BR2_arm=y
- BR2_cortex_a9=y
- BR2_ARM_ENABLE_VFP=y
- BR2_TOOLCHAIN_EXTERNAL=y
- BR2_LINUX_KERNEL=y
- BR2_LINUX_KERNEL_CUSTOM_VERSION=y
- BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.38"
- BR2_LINUX_KERNEL_DEFCONFIG="vexpress"
- BR2_LINUX_KERNEL_DTS_SUPPORT=y
- BR2_LINUX_KERNEL_INTREE_DTS_NAME="vexpress-v2p-ca9"
- BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}"
- BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
- BR2_INIT_SYSTEMD=y
- BR2_PACKAGE_LXC=y
- BR2_PACKAGE_TINI=y
- BR2_PACKAGE_IPERF3=y
- BR2_ROOTFS_OVERLAY="{}"
- BR2_TARGET_ROOTFS_CPIO=y
- """.format(
- infra.filepath("tests/package/test_lxc/lxc-kernel.config"),
- infra.filepath("tests/package/test_lxc/rootfs-overlay"))
- def run_ok(self, cmd):
- self.assertRunOk(cmd, 120)
- def wait_boot(self):
- # the complete boot with systemd takes more time than what the default multipler permits
- self.emulator.timeout_multiplier *= 10
- self.emulator.login()
- def setup_run_test_container(self):
- self.run_ok("lxc-create -n lxc_iperf3 -t none -f /usr/share/lxc/config/minimal-iperf3.conf")
- self.run_ok("lxc-start -l trace -n lxc_iperf3 -o /tmp/lxc.log -L /tmp/lxc.console.log")
- # need to wait for the container to be fully started
- self.run_ok("sleep 2")
- self.run_ok("iperf3 -c 192.168.1.2 -t 2")
- # if the test fails, just cat /tmp/*.log
- def test_run(self):
- cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
- kernel_file = os.path.join(self.builddir, "images", "zImage")
- dtb_file = os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb")
- self.emulator.boot(arch="armv7", kernel=kernel_file,
- kernel_cmdline=[
- "console=ttyAMA0,115200"],
- options=["-initrd", cpio_file,
- "-dtb", dtb_file,
- "-M", "vexpress-a9"])
- self.wait_boot()
- self.setup_run_test_container()
|