Colin Ihrig
f9a09131d7
test_runner: fix t.assert methods
...
The node:assert module contains several top level APIs that do
not make sense to expose as methods on t.assert. Examples include
AssertionError and CallTracker. This commit removes such APIs from
t.assert.
Refs: https://github.com/nodejs/node/pull/52860
PR-URL: https://github.com/nodejs/node/pull/53049
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-05-20 16:49:15 +00:00
Colin Ihrig
a619789ef0
test_runner: support module mocking
...
This commit adds experimental module mocking to the test runner.
PR-URL: https://github.com/nodejs/node/pull/52848
Fixes: https://github.com/nodejs/node/issues/51164
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
2024-05-19 05:09:09 +00:00
Colin Ihrig and Marco Ippolito
0c83f80ff3
test_runner: support test plans
...
Co-Authored-By: Marco Ippolito <marcoippolito54@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/52860
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Paolo Insogna <paolo@cowtech.it >
2024-05-09 12:09:09 +02:00
cjihrig
11f8765475
test_runner: don't exceed call stack when filtering
...
This commit updates filteredRun() to call postRun() after a
microtask instead of synchronously. Currently, if approximately
1,545 subtests are filtered, enough synchronous calls can be
made to cause a call stack exceeded exception.
PR-URL: https://github.com/nodejs/node/pull/52488
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-04-14 01:22:22 +00:00
cjihrig
77424b05e9
test_runner: move end of work check to finalize()
...
This commit moves the end of work check from postRun() to
finalize(). The reasoning is that finalize() is guaranteed to
run in the order that the tests are defined, while postRun() is
not. This makes the check a little simpler.
PR-URL: https://github.com/nodejs/node/pull/52488
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-04-14 01:22:21 +00:00
Colin Ihrig
52f8dcfccc
test_runner: make end of work check stricter
...
This commit updates the logic that checks for the end of the
test run. Prior to this change, it was possible for root.run() to
be called multiple times because of the way pending subtests
were tracked. The extra calls to root.run() were harmless, but
could trigger an EventEmitter leak warning due to 'abort'
listeners being created.
PR-URL: https://github.com/nodejs/node/pull/52326
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-04-11 02:43:10 +00:00
Colin Ihrig
2c024cd24d
test_runner: disable highWatermark on TestsStream
...
The default highWatermark of 16 on the TestsStream class can
have a substantial impact on reporting performance. This commit
sets the TestsStream highWatermark to a very large value and
lets the destination streams (which are more likely to have
meaningful highWatermarks) handle backpressure.
PR-URL: https://github.com/nodejs/node/pull/52287
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-04-02 03:37:30 +00:00
Colin Ihrig
7c02486f1f
test_runner: run afterEach hooks in correct order
...
This commit updates the test runner afterEach hook so that the
current test's afterEach hooks run before any ancestor afterEach
hooks.
Fixes: https://github.com/nodejs/node/issues/51671
PR-URL: https://github.com/nodejs/node/pull/52239
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-30 02:58:10 +00:00
Colin Ihrig
29de7f82cd
test_runner: omit filtered test from output
...
This commit updates the test runner to suppress any output for
filtered tests. Filtered tests no longer generate reporter events,
and the unfiltered tests are renumbered in the output as though
the filtered tests were not present. Skipped tests that are not
filtered are still included in the output.
This change is particularly useful when filtering a large number
of tests, as the previously displayed skip output could be
distracting.
Fixes: https://github.com/nodejs/node/issues/51383
PR-URL: https://github.com/nodejs/node/pull/52221
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-28 15:57:34 +00:00
cjihrig
fa13ed6d79
doc: add section explaining todo tests
...
This commit adds a section to the test runner docs explaining
what a TODO test is.
Refs: https://github.com/nodejs/node/issues/49013
PR-URL: https://github.com/nodejs/node/pull/52204
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-26 16:52:38 +00:00
cjihrig
7dfa4750af
test: add test for skip+todo combinations
...
This commit adds a regression test for the edge case where a
test runner test is marked as both todo and skip.
Refs: https://github.com/nodejs/node/issues/49013
PR-URL: https://github.com/nodejs/node/pull/52204
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-26 16:52:38 +00:00
cjihrig
6af4049810
test_runner: simplify test end time tracking
...
This commit simplifies the logic for tracking test end time.
The end time is now only set in postRun(), which every test
runs when it ends.
PR-URL: https://github.com/nodejs/node/pull/52182
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-25 13:23:35 +00:00
cjihrig
878047be0b
test_runner: simplify test start time tracking
...
This commit simplifies the logic for tracking test start time.
The start time is now set only when a test/suite begins running.
If the test/suite never runs, a fallback is provided in postRun().
PR-URL: https://github.com/nodejs/node/pull/52182
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-25 13:23:34 +00:00
cjihrig
4648c83dbc
test_runner: don't await the same promise for each test
...
Prior to this commit, each top level test awaited the same
global promise for setting up test reporters. This commit
updates the logic to only await the promise the first time
it is encountered.
PR-URL: https://github.com/nodejs/node/pull/52185
Refs: https://github.com/nodejs/node/pull/47164
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-25 01:01:41 +00:00
cjihrig
5905596719
test: fix incorrect test fixture
...
This commit updates a test runner fixture that includes a failing
child test. However, the nested test is created using the top
level test() function instead t.test(). This commit updates the
fixture to use t.test(), while preserving the expected failure.
Refs: https://github.com/nodejs/node/pull/47164
PR-URL: https://github.com/nodejs/node/pull/52185
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-25 01:01:41 +00:00
Colin Ihrig
5276c0d5d4
test_runner: add suite()
...
This commit adds a suite() function to the test runner and makes
describe() an alias for it. This matches the it() alias for
test().
Fixes: https://github.com/nodejs/node/issues/51430
PR-URL: https://github.com/nodejs/node/pull/52127
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-19 15:38:17 +00:00
Colin Ihrig
978d5a26c9
test: reduce flakiness of test-runner-output.mjs
...
This commit is similar to #51952 . When the system is under load
it is possible for these timeout tests to become flaky. We
work around that by using a much longer setTimeout() in the test
so that it is not racing against the test's timeout. But, we have
to unref() such a large timeout. And, because test timeouts do
not currently keep the event loop alive, we use a different
setTimeout() for that purpose.
Fixes: https://github.com/nodejs/node/issues/52139
Refs: https://github.com/nodejs/node/pull/52140
PR-URL: https://github.com/nodejs/node/pull/52146
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-19 07:38:45 +00:00
Colin Ihrig
4ba9f45d99
test_runner: ignore todo flag when running suites
...
This commit removes a check for the todo flag when determining
if a suite should run. In general, the todo flag should have
no impact on whether or not a test/suite runs. Instead, it should
only impact how the result of the test/suite is handled.
PR-URL: https://github.com/nodejs/node/pull/52117
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-18 18:11:33 +00:00
Colin Ihrig
6f4d6011ea
test_runner: skip each hooks for skipped tests
...
When a test is skipped, the corresponding beforeEach and afterEach
hooks should also be skipped.
Fixes: https://github.com/nodejs/node/issues/52112
PR-URL: https://github.com/nodejs/node/pull/52115
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-18 16:29:36 +00:00
Colin Ihrig
05db979c01
test_runner: run top level tests in a microtask
...
This commit updates the test harness to prevent top level
tests from executing immediately. This allows certain config
data, such as filtering options, to be discovered before running
the tests.
PR-URL: https://github.com/nodejs/node/pull/52092
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-17 04:17:36 +00:00
Colin Ihrig
97b2c5344d
test_runner: remove redundant report call
...
This commit removes a redundant call to `reportStarted()`. It is
redundant because a few lines down, `subtest.finalize()` is
called. `finalize()` will find the first test that is ready to
report its data, and then call `report()`, which also calls
`reportStarted()`. This will trigger the `'test:start'` as high
up the test tree as necessary.
PR-URL: https://github.com/nodejs/node/pull/52089
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
2024-03-16 21:36:58 +00:00
Colin Ihrig
84de97a61e
test_runner: support forced exit
...
This commit updates the test runner to allow a forced exit once
all known tests have finished running.
Fixes: https://github.com/nodejs/node/issues/49925
PR-URL: https://github.com/nodejs/node/pull/52038
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-03-13 10:49:15 +00:00
Colin Ihrig
3c5764a0e2
test_runner: handle undefined test locations
...
This commit updates the built in reporters to check for the
documented case of a test's location being undefined.
As a drive by fix, the C++ code for computing the test location
now returns undefined if the script location is empty. This lets
tests run inside of eval().
PR-URL: https://github.com/nodejs/node/pull/52036
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2024-03-12 18:16:28 +00:00
cjihrig
328642bbb9
test_runner: use paths for test locations
...
This commit transforms test locations to paths when V8 provides
file URLs (which seems to be for ESM files).
Fixes: https://github.com/nodejs/node/issues/51610
PR-URL: https://github.com/nodejs/node/pull/52010
Fixes: https://github.com/nodejs/node/issues/51392
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-11 08:56:16 +00:00
cjihrig
6d625fe616
test_runner: support source mapped test locations
...
This commit adds support for source mapping test locations
when the --enable-source-maps flag is present.
Fixes: https://github.com/nodejs/node/issues/51392
PR-URL: https://github.com/nodejs/node/pull/52010
Fixes: https://github.com/nodejs/node/issues/51610
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-11 08:56:16 +00:00
Colin Ihrig
592c6907bf
test_runner: avoid overwriting root start time
...
This commit ensures the root test start time is not overwritten
when top level before()/after() hooks are run.
PR-URL: https://github.com/nodejs/node/pull/52020
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2024-03-11 03:18:07 +00:00
Colin Ihrig
29b231763e
test_runner: abort unfinished tests on async error
...
This commit updates the test runner's uncaughtException handler
to abort tests instead of assuming they finished running.
Fixes: https://github.com/nodejs/node/issues/51381
PR-URL: https://github.com/nodejs/node/pull/51996
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2024-03-09 21:30:02 +00:00
cjihrig
3aa06589f1
test: add regression test for test_runner after hook
...
Refs: https://github.com/nodejs/node/issues/51997
PR-URL: https://github.com/nodejs/node/pull/51998
Fixes: https://github.com/nodejs/node/issues/51997
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2024-03-07 09:16:37 +00:00
cjihrig
0e8070d4f2
Revert "test_runner: do not invoke after hook when test is empty"
...
This reverts commit a53fd95d36 .
This caused a regression because the original issue this commit
was attempting to fix is not a bug. The after() hook should
always run.
Fixes: https://github.com/nodejs/node/issues/51997
PR-URL: https://github.com/nodejs/node/pull/51998
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2024-03-07 09:16:36 +00:00
Colin Ihrig
cf45a62ece
meta: move cjihrig to TSC regular member
...
PR-URL: https://github.com/nodejs/node/pull/50816
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Michael Dawson <midawson@redhat.com >
2023-11-24 15:06:29 +00:00
Colin Ihrig
f971106072
fs: add flush option to appendFile() functions
...
This commit adds documentation and tests for the 'flush' option
of the fs.appendFile family of functions. Technically, support
was indirectly added in #50009 , but this makes it more official.
Refs: https://github.com/nodejs/node/issues/49886
Refs: https://github.com/nodejs/node/pull/50009
PR-URL: https://github.com/nodejs/node/pull/50095
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-10-18 01:51:41 +00:00
Colin Ihrig
0d8faf2952
test_runner,test: fix flaky test-runner-cli-concurrency.js
...
This test was flaky on Windows when trying to clean up the
tmp directory, probably because it relied on child processes
timing out and being killed.
This commit updates the test to check for debug output
from the test runner. This should be adequate because the
original change was effectively:
let concurrency = getOptionValue('--test-concurrency') || true;
The test runner now logs the value of the concurrency variable.
Fixes: https://github.com/nodejs/node/issues/50101
PR-URL: https://github.com/nodejs/node/pull/50108
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-10-12 01:37:00 +00:00
Colin Ihrig
8a49735bae
fs: add flush option to createWriteStream()
...
This commit adds a 'flush' option to the createWriteStream()
family of functions.
Refs: https://github.com/nodejs/node/issues/49886
PR-URL: https://github.com/nodejs/node/pull/50093
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com >
2023-10-11 16:25:05 +00:00
cjihrig
9f9c58212e
test_runner, cli: add --test-concurrency flag
...
This commit adds a new --test-concurrency CLI flag that controls
the parallelism of the test runner CLI.
PR-URL: https://github.com/nodejs/node/pull/49996
Fixes: https://github.com/nodejs/node/issues/49487
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
2023-10-08 16:10:53 -04:00
Colin Ihrig
e01c1d700d
fs: add flush option to writeFile() functions
...
This commit adds a 'flush' option to the fs.writeFile family of
functions.
Refs: https://github.com/nodejs/node/issues/49886
PR-URL: https://github.com/nodejs/node/pull/50009
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: LiviaMedeiros <livia@cirno.name >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
2023-10-04 13:10:30 +00:00
Colin Ihrig
4b35a9cfda
test_runner: add test location for FileTests
...
This commit adds the previously missing test location for
FileTest tests.
Fixes: https://github.com/nodejs/node/issues/49926
Fixes: https://github.com/nodejs/node/issues/49927
PR-URL: https://github.com/nodejs/node/pull/49999
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2023-10-03 18:19:51 +00:00
Colin Ihrig
c935d4c8fa
test_runner: replace spurious if with else
...
There is an `if` statement that likely should have been
an `else` in the original PR.
Refs: https://github.com/nodejs/node/pull/48915
PR-URL: https://github.com/nodejs/node/pull/49943
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Raz Luvaton <rluvaton@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: LiviaMedeiros <livia@cirno.name >
2023-09-29 11:04:58 +00:00
Colin Ihrig
b5740756ca
test_runner: reland run global after() hook earlier
...
This commit reverts the revert in
bb52656fc6 . It also includes the
fix for the issue that required the revert
(https://github.com/nodejs/node/pull/49059#issuecomment-1675171959 )
and an additional common.mustCall() in the added test.
Refs: https://github.com/nodejs/node/pull/49059
Refs: https://github.com/nodejs/node/pull/49110
PR-URL: https://github.com/nodejs/node/pull/49116
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-08-14 14:29:29 +00:00
cjihrig
6346bdc526
test_runner: run global after() hook earlier
...
This commit moves the global after() hook execution from the
'beforeExit' event to the point where all tests have finished
running. This gives the global after() a chance to clean up
handles that would otherwise prevent the 'beforeExit' event
from being emitted.
PR-URL: https://github.com/nodejs/node/pull/49059
Fixes: https://github.com/nodejs/node/issues/49056
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-08-11 09:16:51 -04:00
cjihrig
4e61c22699
test_runner: expose location of tests
...
This commit adds each test's line and column number to the reporter
output. This will aid in debugging test suite failures when error
stacks are not helpful, test suites are large, or tests have the
same name. This data is also exposed on the spec reporter.
This commit also replaces the filename that was previously being
reported, with the filename where the test actually exists. These
are normally correct, but could be wrong if tests were run from
a file other than the user's entrypoint.
PR-URL: https://github.com/nodejs/node/pull/48975
Fixes: https://github.com/nodejs/node/issues/48457
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2023-08-11 09:12:49 -04:00
Colin Ihrig
bef3942820
test_runner: unwrap error message in TAP reporter
...
The TAP reporter unwraps errors that come from user code. It
was not properly unwrapping the error message when the failure
originated from a test hook. This lead to difficult to debug
errors when TAP output was used. This commit updates the TAP
reporter to properly unwrap the error message.
Fixes: https://github.com/nodejs/node/issues/48941
PR-URL: https://github.com/nodejs/node/pull/48942
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-07-29 18:36:55 +00:00
Colin Ihrig
a4e4a86d89
test: skip experimental test with pointer compression
...
The test test/parallel/test-experimental-shared-value-conveyor.js was
added to test the --harmony-struct feature of V8. However, when used
with pointer compression, the process crashes. This commit skips
the test for pointer compression builds. This change uses a child
process because starting a Node pointer compression build with
--harmony-struct immediately crashes the process. Once this crash
is addresses, this commit can be reverted.
PR-URL: https://github.com/nodejs/node/pull/48738
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
2023-07-16 09:10:58 +00:00
Colin Ihrig
f802aa0645
doc: fix 'partial' typo
...
PR-URL: https://github.com/nodejs/node/pull/48657
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Deokjin Kim <deokjin81.kim@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2023-07-05 16:15:47 +00:00
Colin Ihrig
b47fce0762
test_runner: remove redundant check from coverage
...
The code coverage reporting logic already filters out URLs that
don't start with 'file:', so there is no need to also filter
out URLs that start with 'node:'.
PR-URL: https://github.com/nodejs/node/pull/48070
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com >
2023-05-29 04:47:21 +00:00
cjihrig
4360389d67
test_runner: omit inaccessible files from coverage
...
If V8 generates code coverage for a file that is later
inaccessible to the test runner, then omit that file from the
coverage report.
PR-URL: https://github.com/nodejs/node/pull/47850
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com >
2023-05-10 14:08:00 +00:00
cjihrig
b31d587dc8
test_runner: support combining coverage reports
...
This commit adds support for combining code coverage reports
in the test runner. This allows coverage to be collected for
child processes, and by extension, the test runner CLI.
PR-URL: https://github.com/nodejs/node/pull/47686
Fixes: https://github.com/nodejs/node/issues/47669
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-04-28 13:13:53 +00:00
cjihrig
ab3a54f2ee
test_runner: remove no-op validation
...
The code already checks if testNamePatterns is an
array, and converts it to an array if it is not.
PR-URL: https://github.com/nodejs/node/pull/47687
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Deokjin Kim <deokjin81.kim@gmail.com >
2023-04-25 16:03:51 +00:00
cjihrig
53e3c0ebf8
test_runner: support coverage of unnamed functions
...
This commit updates the code coverage logic to skip the first
function in a file (which does not correspond to an actual
function) instead of skipping all functions without a name.
PR-URL: https://github.com/nodejs/node/pull/47652
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-04-23 07:17:49 +00:00
cjihrig
ecb023be8a
test_runner: move coverage collection to root.postRun()
...
This commit moves code coverage collection from the test
harness exit handler to the postRun() function of the root
test.
This is necessary preparatory work for supporting
code coverage with --test. The reason is that --test is
implemented on top of run(), and that function calls the root
test's postRun() function, which outputs the test summary. This
happens before the harness exit handler.
PR-URL: https://github.com/nodejs/node/pull/47651
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-04-23 06:57:10 +00:00
Colin Ihrig
d1eaeecc8b
doc: add MoLow to the TSC
...
Refs: https://github.com/nodejs/TSC/issues/1364
PR-URL: https://github.com/nodejs/node/pull/47436
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2023-04-05 21:38:46 +00:00
cjihrig
c733cc0c7f
test_runner: mark module as stable
...
PR-URL: https://github.com/nodejs/node/pull/46983
Fixes: https://github.com/nodejs/node/issues/46642
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Danielle Adams <adamzdanielle@gmail.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
2023-03-08 18:16:37 -05:00
Colin Ihrig
629047da09
doc: add missing test runner flags to man page
...
--test-reporter and --test-reporter-destination were previously
missing from the man page.
PR-URL: https://github.com/nodejs/node/pull/46982
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-03-08 21:49:43 +00:00
cjihrig
d4c3e3b496
test_runner: remove root tracking set
...
The wasRootSetup Set in the test harness appears to be
redundant, since the startTime field can be used interchangeably.
This commit removes wasRootSetup.
PR-URL: https://github.com/nodejs/node/pull/46961
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-03-07 14:03:02 -05:00
cjihrig
3d63d5333d
test_runner: handle errors not bound to tests
...
This commit addresses a previously untested branch of the code.
It is possible when using the test runner that an error occurs
outside of a test. In this case, the test runner would simply
rethrow the error. This commit updates the logic to handle the
error in the same fashion as other uncaughtExceptions.
PR-URL: https://github.com/nodejs/node/pull/46962
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-03-07 13:59:47 -05:00
cjihrig
e079aa80f0
test_runner: throw if harness is not bootstrapped
...
This commit updates the test harness to re-throw uncaught errors
if bootstrapping has not completed. This updates the existing
logic which tried to detect a specific error code.
PR-URL: https://github.com/nodejs/node/pull/46962
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-03-07 13:59:41 -05:00
cjihrig
4e3bc06e65
test_runner: track bootstrapping process
...
This commit updates the test harness and root test to track
when bootstrapping has completed.
PR-URL: https://github.com/nodejs/node/pull/46962
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-03-07 13:59:37 -05:00
cjihrig
b191f09e6e
test_runner: give the root test a harness reference
...
This commit replaces the 'coverage' reference inside of the Test
class with a more generic harness reference which includes
coverage. This will let the root test more easily track process
level state such as code coverage, uncaughtException handlers,
and the state of bootstrapping.
PR-URL: https://github.com/nodejs/node/pull/46962
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-03-07 13:59:28 -05:00
Colin Ihrig
0c90be9072
test_runner: better handle async bootstrap errors
...
The test runner is bootstrapped synchronously, with the exception
of importing custom reporters. To better handle asynchronously
throw errors, this commit introduces an internal error type that
can be checked for from the test runner's uncaughtException
handler.
After https://github.com/nodejs/node/pull/46707 and this change
land, the other throw statement in the uncaughtException handler
can be removed. This will allow the test runner to handle errors
thrown from outside of tests (which currently prevents the test
runner from reporting results).
PR-URL: https://github.com/nodejs/node/pull/46720
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-02-24 14:13:24 +00:00
Colin Ihrig
7c76fddf25
util,doc: mark parseArgs() as stable
...
Fixes: https://github.com/nodejs/node/issues/46640
PR-URL: https://github.com/nodejs/node/pull/46718
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2023-02-21 15:48:00 +00:00
Colin Ihrig
5e954c3ce3
test_runner: centralize CLI option handling
...
The test runner relies on a few CLI options. That code was spread
across a few locations. This commit centralizes that logic.
PR-URL: https://github.com/nodejs/node/pull/46707
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: James M Snell <jasnell@gmail.com >
2023-02-20 01:26:04 +00:00
Colin Ihrig
f145766011
fs: add statfs() functions
...
This commit adds statfs() and statfsSync() to the fs module, and
statfs() to the fsPromises module.
Co-authored-by: cjihrig <cjihrig@gmail.com >
Fixes: https://github.com/nodejs/node/issues/10745
Refs: https://github.com/nodejs/node/pull/31351
PR-URL: https://github.com/nodejs/node/pull/46358
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2023-01-29 17:43:20 +00:00
Colin Ihrig
27c51243b5
deps: update to uvwasi 0.0.15
...
Notable changes:
- Use GetThreadTimes() on Windows for CLOCK_THREAD_CPUTIME_ID.
- Increase the precision of the process and thread clocks on
Windows.
PR-URL: https://github.com/nodejs/node/pull/46253
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2023-01-20 15:56:07 +00:00
Colin Ihrig
384e1b5174
test: fix flaky test-runner-exit-code.js
...
test/parallel/test-runner-exit-code.js failed in a recent CI run
with the following error:
+ actual - expected
+ 'TAP version 13\n' +
+ '# Subtest: /home/iojs/build/workspace/...'
- 'TAP version 13\n'
This commit resolves that flakiness.
Refs: https://ci.nodejs.org/job/node-test-commit-linuxone/35759/
PR-URL: https://github.com/nodejs/node/pull/46138
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2023-01-10 21:55:53 +00:00
cjihrig
1ecc03eccd
doc,lib,src,test: rename --test-coverage
...
Add experimental to the name as requested during review.
PR-URL: https://github.com/nodejs/node/pull/46017
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
2023-01-08 16:10:00 -05:00
cjihrig
8c95cb012b
test_runner: add initial code coverage support
...
This commit adds code coverage functionality to the node:test
module. When node:test is used in conjunction with the new
--test-coverage CLI flag, a coverage report is created when
the test runner finishes. The coverage summary is forwarded to
any test runner reporters so that the display can be customized
as desired. This new functionality is compatible with the
existing NODE_V8_COVERAGE environment variable as well.
There are still several limitations, which will be addressed in
subsequent pull requests:
- Coverage is only reported for a single process. It is possible
to merge coverage reports together. Once this is done, the
--test flag will be supported as well.
- Source maps are not currently supported.
- Excluding specific files or directories from the coverage
report is not currently supported. Node core modules and
node_modules/ are excluded though.
PR-URL: https://github.com/nodejs/node/pull/46017
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
2023-01-08 16:09:41 -05:00
Colin Ihrig
4788c0d2a0
test_runner: make built in reporters internal
...
This commit updates the test runner to make the built in test
reporters internal modules.
PR-URL: https://github.com/nodejs/node/pull/46092
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2023-01-06 19:34:12 +00:00
cjihrig
57048acedc
lib: fix incorrect use of console intrinsic
...
The console object was not being frozen because the intrinsic
freezing code was accessing undefined instead of the console
object.
PR-URL: https://github.com/nodejs/node/pull/46044
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2023-01-03 17:28:30 +00:00
cjihrig
30a548475b
tools: fix lint rule recommendation
...
The lint rule recommends destructuring console out of the
internal/console/global.js export. However, that does not
exist. The top level export is actually the console object.
PR-URL: https://github.com/nodejs/node/pull/46044
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2023-01-03 17:28:28 +00:00
Colin Ihrig
610b2e45e7
deps: update to uvwasi 0.0.14
...
Notable changes:
- Windows applications not in ConsoleMode now properly guess
handle types for FILE_TYPE_CHAR file types which cannot be
stat'ed.
- The UVWASI_DEBUG macro can now be used without a format string.
- The libuv dependency has been updated to v1.44.2.
PR-URL: https://github.com/nodejs/node/pull/45970
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2022-12-27 03:51:58 +00:00
Colin Ihrig
fe5710effc
test_runner: use os.availableParallelism()
...
This commit addresses an existing TODO in the code by moving
to the new os.availableParallelism() instead of os.cpus().length.
PR-URL: https://github.com/nodejs/node/pull/45969
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-12-27 03:30:19 +00:00
cjihrig
dfbe36f66f
doc: add parallelism note to os.cpus()
...
With the introduction of os.availableParallelism(), users should
no longer rely on os.cpus().length to determine the amount of
available parallelism. This commit adds a note to the os.cpus()
docs.
PR-URL: https://github.com/nodejs/node/pull/45895
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2022-12-21 16:53:40 -05:00
cjihrig
288c421f36
os: add availableParallelism()
...
This commit exposes uv_available_parallelism() as an alternative
to cpus().length. uv_available_parallelism() is inspired by
Rust's available_parallelism().
PR-URL: https://github.com/nodejs/node/pull/45895
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2022-12-21 16:53:24 -05:00
Colin Ihrig
385d595a4f
test_runner: run t.after() if test body throws
...
This commit fixes a bug where t.after() was not called if the
test body threw an exception.
PR-URL: https://github.com/nodejs/node/pull/45870
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2022-12-17 06:36:15 +00:00
cjihrig
215c5317d4
test_runner: add t.after() hook
...
This commit adds an after() hook to the TestContext class. This
hook can be used to clean up after a test finishes.
PR-URL: https://github.com/nodejs/node/pull/45792
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2022-12-11 19:19:07 +00:00
cjihrig
8302b0add0
test_runner: don't use a symbol for runHook()
...
This is not exposed to userland, so there is no need to put it
behind a symbol.
PR-URL: https://github.com/nodejs/node/pull/45792
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2022-12-11 19:19:06 +00:00
Colin Ihrig
cc2732d764
test_runner: don't parse TAP from stderr
...
This commit stops the test runner CLI from parsing child
process stderr as TAP. Per the TAP spec, TAP can only come from
stdout. To avoid losing stderr data, those logs are injected
into the parser as unknown tokens so that they are output as
comments.
PR-URL: https://github.com/nodejs/node/pull/45618
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2022-12-02 03:12:07 +00:00
Colin Ihrig
8264f0b1c3
doc: move os.machine() docs to sorted position
...
This commit moves the os.machine() docs so that the API list
is sorted.
PR-URL: https://github.com/nodejs/node/pull/45647
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2022-11-27 20:52:30 +00:00
Colin Ihrig
fec0fbc333
test_runner: remove stdout and stderr from error
...
The CLI test runner parses the TAP output from child processes
now and displays it. This commit removes a previous workaround
for displaying child process stdout and stderr when tests
failures occurred.
PR-URL: https://github.com/nodejs/node/pull/45592
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
2022-11-25 02:48:21 +00:00
cjihrig
767574938d
test: update uses of _jabber._tcp.google.com
...
_jabber._tcp.google.com seems to have stopped working. This
commit changes the host to _caldav._tcp.google.com.
Refs: https://github.com/denoland/deno_std/pull/2881
PR-URL: https://github.com/nodejs/node/pull/45451
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2022-11-15 20:03:45 +00:00
cjihrig
7c6682957b
test_runner: support function mocking
...
This commit allows tests in the test runner to mock functions
and methods.
PR-URL: https://github.com/nodejs/node/pull/45326
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2022-11-07 18:25:54 -05:00
Colin Ihrig
2119fa48fb
doc: fix test runner's only tests section header
...
Only tests are not a subsection of describe/it syntax.
This commit updates the heading of the 'only tests'
section to reflect this.
PR-URL: https://github.com/nodejs/node/pull/45343
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com >
2022-11-07 13:52:11 -05:00
Colin Ihrig
a69a30016c
test_runner: call {before,after}Each() on suites
...
Prior to this commit, beforeEach() and afterEach() hooks were
not called on test suites (describe()). This commit addresses that.
Fixes: https://github.com/nodejs/node/issues/45028
PR-URL: https://github.com/nodejs/node/pull/45161
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2022-10-27 08:27:35 +00:00
cjihrig
87170c3f92
test_runner: add --test-name-pattern CLI flag
...
This commit adds support for running tests that match a
regular expression.
Fixes: https://github.com/nodejs/node/issues/42984
2022-10-04 09:15:02 -04:00
Colin Ihrig
8d5eef53d6
doc: fix grammar in dns docs ( #44850 )
...
Also removes some italics text, as requested
in the pull request review.
PR-URL: https://github.com/nodejs/node/pull/44850
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
2022-10-04 09:09:18 -04:00
Colin Ihrig
417458da9b
doc: remove unnecessary leading commas
...
There are several locations in the test_runner API docs where
the optional first argument to a function was written with a
leading comma. Since these are first arguments, the commas
can be removed.
PR-URL: https://github.com/nodejs/node/pull/44854
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2022-10-04 01:56:25 +00:00
Colin Ihrig
ad8442f135
test_runner: remove runtime experimental warning
...
This commit removes the experimental warning that is emitted
when the test runner is used. The test runner feature is still
considered experimental, but this change makes its output
easier to read.
PR-URL: https://github.com/nodejs/node/pull/44844
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: James M Snell <jasnell@gmail.com >
2022-10-03 19:25:20 +00:00
cjihrig
1b971883e0
fs: don't hard code name in validatePosition()
...
The name of the position being validated by validatePosition()
was not being used. Instead, the string 'position' was being
used everywhere. It worked out because the only call sites were
using the name 'position' as well.
PR-URL: https://github.com/nodejs/node/pull/44767
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2022-09-28 20:35:36 -04:00
cjihrig
df92b3c64b
child_process: remove lookup of undefined property
...
execSync() passes opts.args to checkExecSyncError(). There are
two problems:
1. opts.args appears to always be undefined.
2. Even if it was defined, checkExecSyncError() would not use
it since the command input is guaranteed to be defined.
This commit updates the code to pass undefined instead.
PR-URL: https://github.com/nodejs/node/pull/44766
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2022-09-28 20:00:37 -04:00
cjihrig
f17eac9727
deps: update to uvwasi 0.0.13
...
Notable changes:
- A bug has been fixed in `uvwasi_fd_readdir()` that caused
the number of entries to be processed incorrectly.
PR-URL: https://github.com/nodejs/node/pull/44524
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
2022-09-07 06:14:37 +02:00
cjihrig
cf7539a232
doc: add --update-assert-snapshot to node.1
...
PR-URL: https://github.com/nodejs/node/pull/44429
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2022-08-31 21:40:11 -04:00
cjihrig
1fe4e55840
test: style updates for assert.snapshot()
...
This commit updates the assert.snapshot() fixtures to better
match the code style of the rest of the codebase.
PR-URL: https://github.com/nodejs/node/pull/44429
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2022-08-31 21:40:11 -04:00
cjihrig
39998c9cf4
doc: improve assert.snapshot() docs
...
PR-URL: https://github.com/nodejs/node/pull/44429
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2022-08-31 21:40:11 -04:00
Colin Ihrig
74c2d65f39
doc: remove unused code in call tracker example
...
This function appears to be unused, so remove it.
PR-URL: https://github.com/nodejs/node/pull/44127
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-08-04 22:32:48 +00:00
Colin Ihrig
7d13f5e34f
doc: remove extra 'in's
...
'when in an' -> 'when an'
PR-URL: https://github.com/nodejs/node/pull/43705
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-07-07 07:51:53 +01:00
Colin Ihrig
c1a94646e7
test: remove unused argument in test-util-inspect.js
...
PR-URL: https://github.com/nodejs/node/pull/43395
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2022-06-15 18:33:16 +01:00
Colin Ihrig
adaf602405
test_runner: add initial CLI runner
...
This commit introduces an initial version of a CLI-based
test runner.
PR-URL: https://github.com/nodejs/node/pull/42658
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-04-15 18:37:28 +01:00
Colin Ihrig
93c4dc5e5a
module: ensure 'node:'-only modules can access node_modules
...
This commit allows require() and import to search the
node_modules directories when importing a core module that
must have the node: scheme. This prevents these core modules
from shadowing userland modules with the same name but no
prefix.
PR-URL: https://github.com/nodejs/node/pull/42430
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Beth Griggs <bgriggs@redhat.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
2022-04-14 14:08:55 +01:00
Colin Ihrig
54819f08e0
test_runner: support 'only' tests
...
This commit introduces a CLI flag and test runner functionality
to support running a subset of tests that are indicated by an
'only' option passed to the test.
PR-URL: https://github.com/nodejs/node/pull/42514
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-04-04 15:14:49 +01:00
cjihrig
3c4ee5267a
module,repl: support 'node:'-only core modules
...
This commit makes it possible to add new core modules that can
only be require()'ed and imported when the 'node:' scheme is
used. The 'test' module is the first such module.
These 'node:'-only modules are not included in the list returned
by module.builtinModules.
PR-URL: https://github.com/nodejs/node/pull/42325
Refs: https://github.com/nodejs/node/issues/40954
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-03-21 22:21:09 +00:00
cjihrig
432d1b50e0
test: add initial test module
...
This commit adds a new 'test' module that exposes an API
for creating JavaScript tests. As the tests execute, TAP
output is written to standard output. This commit only supports
executing individual test files, and does not implement
command line functionality for a full test runner.
PR-URL: https://github.com/nodejs/node/pull/42325
Refs: https://github.com/nodejs/node/issues/40954
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-03-21 22:21:09 +00:00