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