From 3a1b68955cf06d7aaa32f02f324931ed30141068 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 25 Sep 2022 22:40:29 +0200 Subject: [PATCH] support/testing/tests/package/test_nodejs: test both host-nodejs-bin and host-nodejs-src The TestNodeJSModule test triggers the build of host-nodejs to be able to install third party modules. Now that host-nodejs has two providers, it makes sense to test both cases, so we duplicate TestNodeJSModule into TestNodeJsModuleHostBin (which tests the host-nodejs-bin) and TestNodeJSModuleHostSrc (which tests the host-nodejs-src). Signed-off-by: Thomas Petazzoni Signed-off-by: Arnout Vandecappelle --- support/testing/tests/package/test_nodejs.py | 29 +++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/support/testing/tests/package/test_nodejs.py b/support/testing/tests/package/test_nodejs.py index 9463c76b72..b63d44c97e 100644 --- a/support/testing/tests/package/test_nodejs.py +++ b/support/testing/tests/package/test_nodejs.py @@ -27,7 +27,7 @@ class TestNodeJSBasic(infra.basetest.BRTest): self.assertRunOk("node sample_nodejs_basic.js") -class TestNodeJSModule(infra.basetest.BRTest): +class TestNodeJSModuleHostBin(infra.basetest.BRTest): config = \ """ BR2_arm=y @@ -36,6 +36,33 @@ class TestNodeJSModule(infra.basetest.BRTest): BR2_TOOLCHAIN_EXTERNAL=y BR2_PACKAGE_NODEJS=y BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="lodash" + BR2_PACKAGE_HOST_NODEJS_BIN=y + BR2_TARGET_ROOTFS_CPIO=y + # BR2_TARGET_ROOTFS_TAR is not set + BR2_ROOTFS_POST_BUILD_SCRIPT="{}" + BR2_ROOTFS_POST_SCRIPT_ARGS="{}" + """.format(infra.filepath("tests/package/copy-sample-script-to-target.sh"), + infra.filepath("tests/package/sample_nodejs_module.js")) + + def test_run(self): + cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") + self.emulator.boot(arch="armv7", + kernel="builtin", + options=["-initrd", cpio_file]) + self.emulator.login() + self.assertRunOk("node sample_nodejs_module.js") + + +class TestNodeJSModuleHostSrc(infra.basetest.BRTest): + config = \ + """ + BR2_arm=y + BR2_cortex_a9=y + BR2_ARM_ENABLE_VFP=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_PACKAGE_NODEJS=y + BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL="lodash" + BR2_PACKAGE_HOST_NODEJS_SRC=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set BR2_ROOTFS_POST_BUILD_SCRIPT="{}"