1import os 2import infra.basetest 3 4 5class TestFlutter(infra.basetest.BRTest): 6 config = f""" 7 BR2_aarch64=y 8 BR2_TOOLCHAIN_EXTERNAL=y 9 BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y 10 BR2_ROOTFS_OVERLAY="{infra.filepath("tests/package/test_flutter/overlay")}" 11 BR2_PER_PACKAGE_DIRECTORIES=y 12 BR2_INIT_SYSTEMD=y 13 BR2_LINUX_KERNEL=y 14 BR2_LINUX_KERNEL_CUSTOM_VERSION=y 15 BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.54" 16 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 17 BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y 18 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" 19 BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{infra.filepath("tests/package/test_flutter/linux-vkms.fragment")}" 20 BR2_PACKAGE_LIBDRM=y 21 BR2_PACKAGE_MESA3D=y 22 BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y 23 BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y 24 BR2_PACKAGE_MESA3D_OPENGL_ES=y 25 BR2_PACKAGE_FLUTTER_PI=y 26 BR2_PACKAGE_FLUTTER_PI_RAW_KEYBOARD_PLUGIN=y 27 BR2_PACKAGE_FLUTTER_PI_TEXT_INPUT_PLUGIN=y 28 BR2_PACKAGE_FLUTTER_PACKAGES=y 29 BR2_PACKAGE_FLUTTER_MARKDOWN_EXAMPLE=y 30 BR2_PACKAGE_FLUTTER_ENGINE=y 31 BR2_TARGET_ROOTFS_EXT2=y 32 BR2_TARGET_ROOTFS_EXT2_4=y 33 BR2_TARGET_ROOTFS_EXT2_SIZE="512M" 34 # BR2_TARGET_ROOTFS_TAR is not set 35 """ 36 37 def test_run(self): 38 img = os.path.join(self.builddir, "images", "rootfs.ext2") 39 kern = os.path.join(self.builddir, "images", "Image") 40 self.emulator.boot( 41 arch="aarch64", 42 kernel=kern, 43 kernel_cmdline=["root=/dev/vda console=ttyAMA0"], 44 options=["-M", "virt", 45 "-cpu", "cortex-a57", 46 "-m", "512M", 47 "-smp", "4", 48 "-vga", "std", 49 "-vnc", "none", 50 "-drive", f"file={img},if=virtio,format=raw"]) 51 self.emulator.login() 52 cmd = "systemctl is-active flutter-markdown-example" 53 output, exit_code = self.emulator.run(cmd, 10) 54 self.assertEqual(exit_code, 0) 55 self.assertEqual(output[0], "active") 56