df7bf8fb41
This test is a simple "Hello, World" integration test of the OpenJDK package. It compiles the Java app on the host, then runs it on an emulated AARCH64 target and verifies "Hello, World" is printed. Signed-off-by: Adam Duskett <Aduskett@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import os
|
|
|
|
import infra.basetest
|
|
|
|
|
|
class TestOpenJdk(infra.basetest.BRTest):
|
|
br2_external = [infra.filepath("tests/package/br2-external/openjdk")]
|
|
config = \
|
|
"""
|
|
BR2_aarch64=y
|
|
BR2_TOOLCHAIN_EXTERNAL=y
|
|
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
|
|
BR2_LINUX_KERNEL=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7"
|
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
|
|
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
|
BR2_TARGET_ROOTFS_CPIO=y
|
|
BR2_TARGET_ROOTFS_CPIO_GZIP=y
|
|
BR2_PACKAGE_XORG7=y
|
|
BR2_PACKAGE_OPENJDK=y
|
|
BR2_PACKAGE_OPENJDK_HELLO_WORLD=y
|
|
"""
|
|
|
|
def login(self):
|
|
img = os.path.join(self.builddir, "images", "rootfs.cpio.gz")
|
|
kern = os.path.join(self.builddir, "images", "Image")
|
|
self.emulator.boot(arch="aarch64",
|
|
kernel=kern,
|
|
kernel_cmdline=["console=ttyAMA0"],
|
|
options=["-M", "virt", "-cpu", "cortex-a57", "-m", "512M", "-initrd", img])
|
|
self.emulator.login()
|
|
|
|
def test_run(self):
|
|
self.login()
|
|
|
|
cmd = "java -cp /usr/bin HelloWorld"
|
|
output, exit_code = self.emulator.run(cmd, 120)
|
|
print(output)
|
|
self.assertEqual(exit_code, 0)
|
|
self.assertEqual(output, ["Hello, World"])
|