test_runner: support defining test reporter in NODE_OPTIONS#46688
test_runner: support defining test reporter in NODE_OPTIONS#46688nodejs-github-bot merged 7 commits intonodejs:mainfrom
Conversation
|
Review requested:
|
e9fb4e2 to
15803a0
Compare
doc/api/cli.md
Outdated
| The destination for the corresponding test reporter. See the documentation on | ||
| [test reporters][] for more details. | ||
|
|
||
| ### `--test-child-process` |
There was a problem hiding this comment.
I am -1 on this implementation,
CLI flags which are a public API should not be added to solve an internal node core issue
I would prefer to add an environment variable instead.
in addition, @cjihrig has expressed in the past a concern regarding introducing big differences between node test.js and node --test test.js - which I agree with, but this case might justify it - it makes more sense to me than parsing CLI flags out of NODE_OPTIONS
There was a problem hiding this comment.
You're right, an environment variable makes more sense, since this flag would only be used for the specific case of a parent test process spawning a child, there's no reason to add extra options to the CLI. I'll do a quick update.
Adds --test-reporter and --test-reporter-destination as allowable options in NODE_OPTIONS. Also adds the CLI flag --test-child-process to allow forcing the default test-reporter for inter-process communication. Fixes: #46484
678bb49 to
c2edafb
Compare
doc/api/cli.md
Outdated
| ### `--test-child-process` | ||
|
|
||
| A flag to identify the process as a child of another test process to ensure | ||
| that test reporting is formatted correctly to be parsed by a parent test | ||
| process. | ||
|
|
There was a problem hiding this comment.
| ### `--test-child-process` | |
| A flag to identify the process as a child of another test process to ensure | |
| that test reporting is formatted correctly to be parsed by a parent test | |
| process. |
There was a problem hiding this comment.
We would need to document TEST_CONTEXT in
Line 1933 in 00c2225
Also, consider renaming it to e.g. NODE_TEST_CONTEXT.
cjihrig
left a comment
There was a problem hiding this comment.
LGTM with some small comments.
lib/internal/test_runner/utils.js
Outdated
| let destinations = getOptionValue('--test-reporter-destination'); | ||
| let reporters = getOptionValue('--test-reporter'); |
There was a problem hiding this comment.
Can you move the getOptionValue() calls to the else branch on line 185.
doc/api/cli.md
Outdated
| output will be sent to stdout in the TAP format. This is intended to facilitate | ||
| parsing and aggregating test output by a parent process that spawns one or more | ||
| children. |
There was a problem hiding this comment.
The last sentence reads a bit like an implementation detail that users shouldn't need to worry about. If others feel it's valuable to include, then you can disregard this comment.
benjamingr
left a comment
There was a problem hiding this comment.
LGTM with a preference to both Colin's comments being fixed but lgtm either way
|
Please fix lint issue |
Commit Queue failed- Loading data for nodejs/node/pull/46688 ✔ Done loading data for nodejs/node/pull/46688 ----------------------------------- PR info ------------------------------------ Title test_runner: support defining test reporter in NODE_OPTIONS (#46688) ⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile! Branch SRHerzog:node-options-test-reporter -> nodejs:main Labels c++, author ready, needs-ci, dont-land-on-v14.x, test_runner Commits 7 - test_runner: support defining test reporter in NODE_OPTIONS - fix lint errors - replace CLI flag with environment variable - remove --test-child-process from CLI doc - rename env var and clean up docs - minor code and doc cleanup - fix lint error Committers 1 - Steve Herzog PR-URL: https://github.com/nodejs/node/pull/46688 Fixes: https://github.com/nodejs/node/issues/46484 Reviewed-By: Moshe Atlow Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/46688 Fixes: https://github.com/nodejs/node/issues/46484 Reviewed-By: Moshe Atlow Reviewed-By: Colin Ihrig Reviewed-By: Benjamin Gruenbaum -------------------------------------------------------------------------------- ℹ This PR was created on Thu, 16 Feb 2023 20:01:26 GMT ✔ Approvals: 3 ✔ - Moshe Atlow (@MoLow): https://github.com/nodejs/node/pull/46688#pullrequestreview-1337613800 ✔ - Colin Ihrig (@cjihrig) (TSC): https://github.com/nodejs/node/pull/46688#pullrequestreview-1336142617 ✔ - Benjamin Gruenbaum (@benjamingr): https://github.com/nodejs/node/pull/46688#pullrequestreview-1336867851 ✔ Last GitHub CI successful ℹ Last Full PR CI on 2023-03-14T10:52:38Z: https://ci.nodejs.org/job/node-test-pull-request/50376/ - Querying data for job/node-test-pull-request/50376/ ✔ Last Jenkins CI successful -------------------------------------------------------------------------------- ✔ No git cherry-pick in progress ✔ No git am in progress ✔ No git rebase in progress -------------------------------------------------------------------------------- - Bringing origin/main up to date... From https://github.com/nodejs/node * branch main -> FETCH_HEAD ✔ origin/main is now up-to-date - Downloading patch for 46688 From https://github.com/nodejs/node * branch refs/pull/46688/merge -> FETCH_HEAD ✔ Fetched commits as 4ae7c7a00258..588f6eadd8c9 -------------------------------------------------------------------------------- Auto-merging doc/api/cli.md Auto-merging lib/internal/test_runner/runner.js Auto-merging lib/internal/test_runner/utils.js [main 9571984ed6] test_runner: support defining test reporter in NODE_OPTIONS Author: Steve Herzog Date: Thu Feb 16 12:53:18 2023 -0600 5 files changed, 38 insertions(+), 16 deletions(-) Auto-merging lib/internal/test_runner/runner.js [main 23116dc8af] fix lint errors Author: Steve Herzog Date: Thu Feb 23 10:05:23 2023 -0600 2 files changed, 2 insertions(+), 2 deletions(-) Auto-merging lib/internal/test_runner/runner.js Auto-merging lib/internal/test_runner/utils.js [main 38d41acac0] replace CLI flag with environment variable Author: Steve Herzog Date: Fri Mar 3 14:36:43 2023 -0600 3 files changed, 3 insertions(+), 6 deletions(-) Auto-merging doc/api/cli.md [main 4613283ba6] remove --test-child-process from CLI doc Author: Steve Herzog Date: Tue Mar 7 09:49:27 2023 -0600 1 file changed, 6 deletions(-) Auto-merging doc/api/cli.md Auto-merging lib/internal/test_runner/runner.js Auto-merging lib/internal/test_runner/utils.js [main 779484a634] rename env var and clean up docs Author: Steve Herzog Date: Fri Mar 10 12:47:12 2023 -0600 4 files changed, 9 insertions(+), 3 deletions(-) Auto-merging doc/api/cli.md Auto-merging lib/internal/test_runner/utils.js [main 7f73305c57] minor code and doc cleanup Author: Steve Herzog Date: Mon Mar 13 11:30:02 2023 -0500 2 files changed, 5 insertions(+), 5 deletions(-) Auto-merging lib/internal/test_runner/utils.js [main 21a3d72501] fix lint error Author: Steve Herzog Date: Mon Mar 13 11:47:18 2023 -0500 1 file changed, 1 insertion(+), 1 deletion(-) ✔ Patches applied There are 7 commits in the PR. Attempting autorebase. Rebasing (2/14)https://github.com/nodejs/node/actions/runs/4418134815 |
|
Landed in 334bb17 |
Adds --test-reporter and --test-reporter-destination as allowable options in NODE_OPTIONS. Also adds the CLI flag --test-child-process to allow forcing the default test-reporter for inter-process communication. Fixes: #46484 PR-URL: #46688 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Adds --test-reporter and --test-reporter-destination as allowable options in NODE_OPTIONS. Also adds the CLI flag --test-child-process to allow forcing the default test-reporter for inter-process communication. Fixes: #46484 PR-URL: #46688 Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Adds --test-reporter and --test-reporter-destination as allowable options in NODE_OPTIONS.
Fixes: #46484