diff mbox series

[RFC,4/4] support/testing/tests/package/test_nodejs: test both host-nodejs-bin and host-nodejs-src

Message ID 20220925204030.1661583-4-thomas.petazzoni@bootlin.com
State Accepted
Headers show
Series [RFC,1/4] DEVELOPERS: add Thomas Petazzoni for nodejs | expand

Commit Message

Thomas Petazzoni Sept. 25, 2022, 8:40 p.m. UTC
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 <thomas.petazzoni@bootlin.com>
---
 support/testing/tests/package/test_nodejs.py | 29 +++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)
diff mbox series

Patch

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="{}"