All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Romain Naour <romain.naour@smile.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH v2 2/2] support/testing/tests: add NodeJS tests
Date: Sat, 11 Feb 2023 00:18:48 +0100	[thread overview]
Message-ID: <20230210231848.GC2796@scaer> (raw)
In-Reply-To: <c049a0c7-6b96-228c-2a10-c5cb21db6caf@smile.fr>

Thomas, All,

On 2023-02-08 16:43 +0100, Romain Naour spake thusly:
> Le 25/09/2022 à 21:20, Thomas Petazzoni a écrit :
> > This commit adds two new test cases:
> > 
> >  - TestNodeJSBasic which builds a target configuration with just
> >    NodeJS enabled, and which runs a very simple NodeJS script on the
> >    target.
> > 
> >  - TestNodeJSModule, which builds a target configuration with NodeJS
> >    enabled + the installation of one extra module, which means npm on
> >    the host (from host-nodejs) is used, and which runs a very simple
> >    NodeJS script on the target that uses this extra module.
> > 
> > Having both tests separately allows to validate that both nodejs-only
> > and nodejs+host-nodejs configurations behave correctly, at least in
> > minimal scenarios.
> 
> NodeJS takes ages to build

Muahahaha! :-)

> Tested-by: Romain Naour <romain.naour@smile.fr>

I could not find the original patch in my mailbox, so I'll reply here:

Applied to master, thanks.

Regards,
Yann E. MORIN.

> 
> Best regards,
> Romain
> 
> 
> > 
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > ---
> >  DEVELOPERS                                    |  3 ++
> >  .../tests/package/sample_nodejs_basic.js      |  3 ++
> >  .../tests/package/sample_nodejs_module.js     |  7 +++
> >  support/testing/tests/package/test_nodejs.py  | 52 +++++++++++++++++++
> >  4 files changed, 65 insertions(+)
> >  create mode 100644 support/testing/tests/package/sample_nodejs_basic.js
> >  create mode 100644 support/testing/tests/package/sample_nodejs_module.js
> >  create mode 100644 support/testing/tests/package/test_nodejs.py
> > 
> > diff --git a/DEVELOPERS b/DEVELOPERS
> > index 51d025173a..564149de0f 100644
> > --- a/DEVELOPERS
> > +++ b/DEVELOPERS
> > @@ -2927,11 +2927,14 @@ F:	package/weston/
> >  F:	support/testing/tests/boot/test_grub.py
> >  F:	support/testing/tests/boot/test_grub/
> >  F:	support/testing/tests/boot/test_syslinux.py
> > +F:	support/testing/tests/package/sample_nodejs_basic.js
> > +F:	support/testing/tests/package/sample_nodejs_module.js
> >  F:	support/testing/tests/package/sample_python_augeas.py
> >  F:	support/testing/tests/package/sample_python_flask.py
> >  F:	support/testing/tests/package/sample_python_flask_expects_json.py
> >  F:	support/testing/tests/package/sample_python_git.py
> >  F:	support/testing/tests/package/sample_python_unittest_xml_reporting.py
> > +F:	support/testing/tests/package/test_nodejs.py
> >  F:	support/testing/tests/package/test_python_augeas.py
> >  F:	support/testing/tests/package/test_python_flask.py
> >  F:	support/testing/tests/package/test_python_flask_expects_json.py
> > diff --git a/support/testing/tests/package/sample_nodejs_basic.js b/support/testing/tests/package/sample_nodejs_basic.js
> > new file mode 100644
> > index 0000000000..7633173c64
> > --- /dev/null
> > +++ b/support/testing/tests/package/sample_nodejs_basic.js
> > @@ -0,0 +1,3 @@
> > +var assert = require('assert');
> > +assert.strictEqual(1, 1);
> > +console.log("Hello World");
> > diff --git a/support/testing/tests/package/sample_nodejs_module.js b/support/testing/tests/package/sample_nodejs_module.js
> > new file mode 100644
> > index 0000000000..57aee73408
> > --- /dev/null
> > +++ b/support/testing/tests/package/sample_nodejs_module.js
> > @@ -0,0 +1,7 @@
> > +var assert = require('assert');
> > +var lodash = require('lodash');
> > +result = lodash.chunk(['a', 'b', 'c', 'd'], 2);
> > +expected = [ [ 'a', 'b' ], [ 'c', 'd' ] ];
> > +assert.deepStrictEqual(result, expected)
> > +
> > +
> > diff --git a/support/testing/tests/package/test_nodejs.py b/support/testing/tests/package/test_nodejs.py
> > new file mode 100644
> > index 0000000000..9463c76b72
> > --- /dev/null
> > +++ b/support/testing/tests/package/test_nodejs.py
> > @@ -0,0 +1,52 @@
> > +import os
> > +
> > +import infra.basetest
> > +
> > +
> > +class TestNodeJSBasic(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_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_basic.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_basic.js")
> > +
> > +
> > +class TestNodeJSModule(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_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")
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2023-02-10 23:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-25 19:20 [Buildroot] [PATCH v2 1/2] package/nodejs: add patch to adjust default NodeJS search path Thomas Petazzoni
2022-09-25 19:20 ` [Buildroot] [PATCH v2 2/2] support/testing/tests: add NodeJS tests Thomas Petazzoni
2023-02-08 15:43   ` Romain Naour
2023-02-10 23:18     ` Yann E. MORIN [this message]
2023-02-08 13:51 ` [Buildroot] [PATCH v2 1/2] package/nodejs: add patch to adjust default NodeJS search path Romain Naour
2023-02-10 23:18   ` Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230210231848.GC2796@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=romain.naour@smile.fr \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.