xref: /OK3568_Linux_fs/buildroot/support/testing/tests/package/test_openjdk.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunimport os
2*4882a593Smuzhiyun
3*4882a593Smuzhiyunimport infra.basetest
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunclass TestOpenJdk(infra.basetest.BRTest):
7*4882a593Smuzhiyun    br2_external = [infra.filepath("tests/package/br2-external/openjdk")]
8*4882a593Smuzhiyun    config = \
9*4882a593Smuzhiyun        """
10*4882a593Smuzhiyun        BR2_aarch64=y
11*4882a593Smuzhiyun        BR2_TOOLCHAIN_EXTERNAL=y
12*4882a593Smuzhiyun        BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
13*4882a593Smuzhiyun        BR2_LINUX_KERNEL=y
14*4882a593Smuzhiyun        BR2_LINUX_KERNEL_CUSTOM_VERSION=y
15*4882a593Smuzhiyun        BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.34"
16*4882a593Smuzhiyun        BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
17*4882a593Smuzhiyun        BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
18*4882a593Smuzhiyun        BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
19*4882a593Smuzhiyun        BR2_TARGET_ROOTFS_CPIO=y
20*4882a593Smuzhiyun        BR2_TARGET_ROOTFS_CPIO_GZIP=y
21*4882a593Smuzhiyun        BR2_PACKAGE_XORG7=y
22*4882a593Smuzhiyun        BR2_PACKAGE_OPENJDK=y
23*4882a593Smuzhiyun        BR2_PACKAGE_OPENJDK_HELLO_WORLD=y
24*4882a593Smuzhiyun        BR2_PACKAGE_OPENJDK_JNI_TEST=y
25*4882a593Smuzhiyun        """
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun    def login(self):
28*4882a593Smuzhiyun        img = os.path.join(self.builddir, "images", "rootfs.cpio.gz")
29*4882a593Smuzhiyun        kern = os.path.join(self.builddir, "images", "Image")
30*4882a593Smuzhiyun        self.emulator.boot(arch="aarch64",
31*4882a593Smuzhiyun                           kernel=kern,
32*4882a593Smuzhiyun                           kernel_cmdline=["console=ttyAMA0"],
33*4882a593Smuzhiyun                           options=["-M", "virt", "-cpu", "cortex-a57", "-m", "512M", "-initrd", img])
34*4882a593Smuzhiyun        self.emulator.login()
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun    def test_run(self):
37*4882a593Smuzhiyun        self.login()
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun        cmd = "java -cp /usr/bin HelloWorld"
40*4882a593Smuzhiyun        output, exit_code = self.emulator.run(cmd, 120)
41*4882a593Smuzhiyun        print(output)
42*4882a593Smuzhiyun        self.assertEqual(exit_code, 0)
43*4882a593Smuzhiyun        self.assertEqual(output, ["Hello, World"])
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun        cmd = "java -cp /usr/bin JniTest"
46*4882a593Smuzhiyun        output, exit_code = self.emulator.run(cmd, 120)
47*4882a593Smuzhiyun        print(output)
48*4882a593Smuzhiyun        self.assertEqual(exit_code, 0)
49