Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests: parallel tests #199

Closed
wants to merge 15 commits into from
Closed

tests: parallel tests #199

wants to merge 15 commits into from

Conversation

isaacs
Copy link
Contributor

@isaacs isaacs commented May 23, 2019

Several changes to the test suite to support running tests in parallel,
bringing the overall test time down considerably.

  • Replace all literal 1337 and 1234 ports with a custom per-process port
    assignment based on the TAP_CHILD_ID environment variable.
  • Add common.pkg as a per-test working directory instead of polluting
    __dirname or accidentally reusing the same working directory for
    multiple tests.
  • Rework test config handling so that tests don't rely on config setup
    being run in a particular order.
  • Remove the npm-registry-couchapp tests, since it (a) relies on
    CouchDB, (b) is no longer a reliable indicator of registry
    compatibility, and (c) is already superceded in most cases by tests
    that use npm-registry-mock. (A test suite that runs against a
    reference implementation is a thing that should exist, but not here.)
  • Remove the fake-registry logging when TAP_CHILD_ID is set, since this
    is extremely hard to make sense of when running multiple tests in
    parallel.

When Node v6 compatibility is dropped in npm v7, we can upgrade to the
latest version of tap for a bit more speed, dropping Domains (and the
associated deprecation warnings), and a fancier test reporter.

(The readable-stream update fixes a crash on Node v12. It is separate from the main purpose of this PR, but it was annoying to keep dealing with, and probably a good idea anyway.)

@isaacs isaacs requested a review from zkat May 23, 2019 04:27
@isaacs isaacs requested a review from a team as a code owner May 23, 2019 04:27
This fixes a ERR_INVALID_OPT_VALUE error on Node v12
Several changes to the test suite to support running tests in parallel,
bringing the overall test time down considerably.

- Replace all literal 1337 and 1234 ports with a custom per-process port
  assignment based on the TAP_CHILD_ID environment variable.
- Add common.pkg as a per-test working directory instead of polluting
  __dirname or accidentally reusing the same working directory for
  multiple tests.
- Rework test config handling so that tests don't rely on config setup
  being run in a particular order.
- Remove the npm-registry-couchapp tests, since it (a) relies on
  CouchDB, (b) is no longer a reliable indicator of registry
  compatibility, and (c) is already superceded in most cases by tests
  that use npm-registry-mock.  (A test suite that runs against a
  reference implementation is a thing that should exist, but not here.)
- Remove the fake-registry logging when TAP_CHILD_ID is set, since this
  is extremely hard to make sense of when running multiple tests in
  parallel.

When Node v6 compatibility is dropped in npm v7, we can upgrade to the
latest version of tap for a bit more speed, dropping Domains (and the
associated deprecation warnings), and a fancier test reporter.
@isaacs
Copy link
Contributor Author

isaacs commented Jun 26, 2019

In next release.

@isaacs isaacs closed this Jun 26, 2019
@isaacs isaacs added semver:major backwards-incompatible breaking changes semver:patch semver patch level for changes and removed semver:major backwards-incompatible breaking changes labels Jun 26, 2019
@isaacs isaacs deleted the isaacs/parallel-tests branch October 2, 2020 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
semver:patch semver patch level for changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants