1import os 2 3import infra.basetest 4 5 6class TestGnuradio(infra.basetest.BRTest): 7 # infra.basetest.BASIC_TOOLCHAIN_CONFIG cannot be used as it does 8 # not include: BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS 9 # needed by gnuradio 10 config = \ 11 """ 12 BR2_aarch64=y 13 BR2_TOOLCHAIN_EXTERNAL=y 14 BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" 15 BR2_LINUX_KERNEL=y 16 BR2_LINUX_KERNEL_CUSTOM_VERSION=y 17 BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.1.39" 18 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y 19 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config" 20 BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y 21 BR2_PACKAGE_GNURADIO=y 22 BR2_PACKAGE_GNURADIO_BLOCKS=y 23 BR2_PACKAGE_GNURADIO_PYTHON=y 24 BR2_PACKAGE_PYTHON3=y 25 BR2_ROOTFS_OVERLAY="{}" 26 BR2_TARGET_ROOTFS_CPIO=y 27 BR2_TARGET_ROOTFS_CPIO_GZIP=y 28 # BR2_TARGET_ROOTFS_TAR is not set 29 """.format( 30 # overlay to add a gnuradio python test script 31 infra.filepath("tests/package/test_gnuradio/rootfs-overlay")) 32 33 def test_run(self): 34 img = os.path.join(self.builddir, "images", "rootfs.cpio.gz") 35 kern = os.path.join(self.builddir, "images", "Image") 36 self.emulator.boot(arch="aarch64", 37 kernel=kern, 38 kernel_cmdline=["console=ttyAMA0"], 39 options=["-M", "virt", "-cpu", "cortex-a57", "-m", "256M", "-initrd", img]) 40 self.emulator.login() 41 42 self.assertRunOk("/root/test_gnuradio.py", timeout=30) 43