[Buildroot] [PATCH v6 7/7] support/testing/tests/package/test_flutter.py: new runtime test
Adam Duskett
adam.duskett at amarulasolutions.com
Mon Aug 28 17:58:58 UTC 2023
This is a simple test that builds and runs the futter-gallery application and
checks if the service is active.
Signed-off-by: Adam Duskett <adam.duskett at amarulasolutions.com>
---
DEVELOPERS | 1 +
support/testing/tests/package/test_flutter.py | 56 +++++++++++++++++++
.../package/test_flutter/linux-vkms.fragment | 2 +
.../flutter-gallery.service | 1 +
.../systemd/system/flutter-gallery.service | 11 ++++
5 files changed, 71 insertions(+)
create mode 100644 support/testing/tests/package/test_flutter.py
create mode 100644 support/testing/tests/package/test_flutter/linux-vkms.fragment
create mode 120000 support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service
create mode 100644 support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service
diff --git a/DEVELOPERS b/DEVELOPERS
index ff0e362496..ff9996f929 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -32,6 +32,7 @@ F: package/flutter-engine/
F: package/flutter-gallery/
F: package/flutter-pi/
F: package/flutter-sdk-bin/
+F: support/testing/tests/package/test_flutter.py
N: Adam Duskett <aduskett at gmail.com>
F: package/firewalld/
diff --git a/support/testing/tests/package/test_flutter.py b/support/testing/tests/package/test_flutter.py
new file mode 100644
index 0000000000..05dd9de910
--- /dev/null
+++ b/support/testing/tests/package/test_flutter.py
@@ -0,0 +1,56 @@
+import os
+import time
+import infra.basetest
+
+
+class TestFlutter(infra.basetest.BRTest):
+ config = f"""
+ BR2_x86_64=y
+ BR2_x86_corei7_avx=y
+ BR2_TOOLCHAIN_EXTERNAL=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
+ BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_X86_64_GLIBC_STABLE=y
+ BR2_ROOTFS_OVERLAY="{infra.filepath("tests/package/test_flutter/overlay")}"
+ BR2_PER_PACKAGE_DIRECTORIES=y
+ BR2_INIT_SYSTEMD=y
+ BR2_LINUX_KERNEL=y
+ BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+ BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.49"
+ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config"
+ BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{infra.filepath("tests/package/test_flutter/linux-vkms.fragment")}"
+ BR2_PACKAGE_LIBDRM=y
+ BR2_PACKAGE_MESA3D=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
+ BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL=y
+ BR2_PACKAGE_MESA3D_OPENGL_EGL=y
+ BR2_PACKAGE_MESA3D_OPENGL_ES=y
+ BR2_PACKAGE_FLUTTER_PI=y
+ BR2_PACKAGE_FLUTTER_PI_KEYBOARD_PLUGIN=y
+ BR2_PACKAGE_FLUTTER_PI_TEXT_INPUT_PLUGIN=y
+ BR2_PACKAGE_FLUTTER_GALLERY=y
+ BR2_PACKAGE_FLUTTER_ENGINE=y
+ BR2_TARGET_ROOTFS_EXT2=y
+ BR2_TARGET_ROOTFS_EXT2_4=y
+ BR2_TARGET_ROOTFS_EXT2_SIZE="328M"
+ # BR2_TARGET_ROOTFS_TAR is not set
+ """
+
+ def test_run(self):
+ img = os.path.join(self.builddir, "images", "rootfs.ext2")
+ kern = os.path.join(self.builddir, "images", "bzImage")
+ self.emulator.boot(
+ arch="x86_64",
+ kernel=kern,
+ kernel_cmdline=["root=/dev/vda console=ttyS0"],
+ options=["-M", "pc",
+ "-enable-kvm",
+ "-cpu", "IvyBridge",
+ "-m", "512M",
+ "-vga", "virtio",
+ "-drive", f"file={img},if=virtio,format=raw"])
+ self.emulator.login()
+ cmd = "systemctl is-active flutter-gallery"
+ output, exit_code = self.emulator.run(cmd, 10)
+ self.assertEqual(exit_code, 0)
+ self.assertEqual(output[0], "active")
diff --git a/support/testing/tests/package/test_flutter/linux-vkms.fragment b/support/testing/tests/package/test_flutter/linux-vkms.fragment
new file mode 100644
index 0000000000..3fc7a5dded
--- /dev/null
+++ b/support/testing/tests/package/test_flutter/linux-vkms.fragment
@@ -0,0 +1,2 @@
+CONFIG_DEBUG_FS=y
+CONFIG_DRM_VKMS=y
diff --git a/support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service b/support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service
new file mode 120000
index 0000000000..40993fb16c
--- /dev/null
+++ b/support/testing/tests/package/test_flutter/overlay/etc/systemd/system/multi-user.target.wants/flutter-gallery.service
@@ -0,0 +1 @@
+../../../../usr/lib/systemd/system/flutter-gallery.service
\ No newline at end of file
diff --git a/support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service b/support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service
new file mode 100644
index 0000000000..6588817c9b
--- /dev/null
+++ b/support/testing/tests/package/test_flutter/overlay/usr/lib/systemd/system/flutter-gallery.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=flutter-gallery daemon
+After=dbus.service systemd-udevd.service
+
+[Service]
+ExecStart=/usr/bin/flutter-pi --release /usr/share/flutter/gallery/3.10.6/release/
+Restart=always
+KillMode=process
+
+[Install]
+WantedBy=multi-user.target
--
2.41.0
More information about the buildroot
mailing list