doc: add info how to run single tests to BUILDING.md

The information on how to run single tests was missing in
BUILDING.md.

PR-URL: https://github.com/nodejs/node/pull/23490
Fixes: https://github.com/nodejs/node/issues/23491
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
Felix Schlenkrich 2018-10-12 11:06:32 -07:00 committed by Ruben Bridgewater
parent fd289959c8
commit 5a30621d16
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762

View File

@ -10,40 +10,42 @@ file a new issue.
## Table of Contents ## Table of Contents
* [Supported platforms](#supported-platforms) - [Building Node.js](#building-nodejs)
* [Input](#input) - [Table of Contents](#table-of-contents)
* [Strategy](#strategy) - [Supported platforms](#supported-platforms)
* [Supported platforms](#supported-platforms-1) - [Input](#input)
* [Supported toolchains](#supported-toolchains) - [Strategy](#strategy)
* [Unix](#unix) - [Supported platforms](#supported-platforms)
* [AIX](#aix) - [Supported toolchains](#supported-toolchains)
* [Windows](#windows) - [Unix](#unix)
* [OpenSSL asm support](#openssl-asm-support) - [AIX](#aix)
* [Building Node.js on supported platforms](#building-nodejs-on-supported-platforms) - [Windows](#windows)
* [Unix/macOS](#unixmacos) - [OpenSSL asm support](#openssl-asm-support)
* [Prerequisites](#prerequisites) - [Building Node.js on supported platforms](#building-nodejs-on-supported-platforms)
* [Building Node.js](#building-nodejs-1) - [Unix/macOS](#unixmacos)
* [Running Tests](#running-tests) - [Prerequisites](#prerequisites)
* [Building the documentation](#building-the-documentation) - [Building Node.js](#building-nodejs)
* [Building a debug build](#building-a-debug-build) - [Running Tests](#running-tests)
* [Windows](#windows-1) - [Building the documentation](#building-the-documentation)
* [Android/Android-based devices (e.g. Firefox OS)](#androidandroid-based-devices-eg-firefox-os) - [Building a debug build](#building-a-debug-build)
* [`Intl` (ECMA-402) support](#intl-ecma-402-support) - [Windows](#windows)
* [Default: `small-icu` (English only) support](#default-small-icu-english-only-support) - [Android/Android-based devices (e.g. Firefox OS)](#androidandroid-based-devices-eg-firefox-os)
* [Build with full ICU support (all locales supported by ICU)](#build-with-full-icu-support-all-locales-supported-by-icu) - [`Intl` (ECMA-402) support:](#intl-ecma-402-support)
* [Unix/macOS](#unixmacos-1) - [Default: `small-icu` (English only) support](#default-small-icu-english-only-support)
* [Windows](#windows-2) - [Build with full ICU support (all locales supported by ICU):](#build-with-full-icu-support-all-locales-supported-by-icu)
* [Building without Intl support](#building-without-intl-support) - [Unix/macOS:](#unixmacos)
* [Unix/macOS](#unixmacos-2) - [Windows:](#windows)
* [Windows](#windows-3) - [Building without Intl support](#building-without-intl-support)
* [Use existing installed ICU (Unix/macOS only)](#use-existing-installed-icu-unixmacos-only) - [Unix/macOS:](#unixmacos)
* [Build with a specific ICU](#build-with-a-specific-icu) - [Windows:](#windows)
* [Unix/macOS](#unixmacos-3) - [Use existing installed ICU (Unix/macOS only):](#use-existing-installed-icu-unixmacos-only)
* [Windows](#windows-4) - [Build with a specific ICU:](#build-with-a-specific-icu)
* [Building Node.js with FIPS-compliant OpenSSL](#building-nodejs-with-fips-compliant-openssl) - [Unix/macOS](#unixmacos)
* [Building Node.js with external core modules](#building-nodejs-with-external-core-modules) - [Windows](#windows)
* [Unix/macOS](#unixmacos-4) - [Building Node.js with FIPS-compliant OpenSSL](#building-nodejs-with-fips-compliant-openssl)
* [Windows](#windows-5) - [Building Node.js with external core modules](#building-nodejs-with-external-core-modules)
- [Unix/macOS](#unixmacos)
- [Windows](#windows)
## Supported platforms ## Supported platforms
@ -73,19 +75,19 @@ The community does not build or test against end-of-life distributions (EoL).
Thus, we do not recommend that you use Node on end-of-life or unsupported Thus, we do not recommend that you use Node on end-of-life or unsupported
platforms in production. platforms in production.
| System | Support type | Version | Architectures | Notes | | System | Support type | Version | Architectures | Notes |
|--------------|--------------|----------------------------------|----------------------|------------------| | ------------ | ------------ | ------------------------------- | ---------------- | ----------------------------- |
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | | | GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | |
| GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | | | GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | |
| macOS/OS X | Tier 1 | >= 10.11 | x64 | | | macOS/OS X | Tier 1 | >= 10.11 | x64 | |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x86, x64 | [2](#fn2),[3](#fn3),[4](#fn4) | | Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x86, x64 | [2](#fn2),[3](#fn3),[4](#fn4) |
| SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | [1](#fn1) | | SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | [1](#fn1) |
| FreeBSD | Tier 2 | >= 11 | x64 | | | FreeBSD | Tier 2 | >= 11 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le >=power8 | | | GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le >=power8 | |
| AIX | Tier 2 | >= 7.1 TL04 | ppc64be >=power7 | | | AIX | Tier 2 | >= 7.1 TL04 | ppc64be >=power7 | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | | | GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| GNU/Linux | Experimental | kernel >= 2.6.32, glibc >= 2.12 | x86 | limited CI | | GNU/Linux | Experimental | kernel >= 2.6.32, glibc >= 2.12 | x86 | limited CI |
| Linux (musl) | Experimental | musl >= 1.0 | x64 | | | Linux (musl) | Experimental | musl >= 1.0 | x64 | |
<em id="fn1">1</em>: The gcc4.8-libs package needs to be installed, because node <em id="fn1">1</em>: The gcc4.8-libs package needs to be installed, because node
binaries have been built with GCC 4.8, for which runtime libraries are not binaries have been built with GCC 4.8, for which runtime libraries are not
@ -223,6 +225,32 @@ $ make -j4 test
`make -j4 test` does a full check on the codebase, including running linters and `make -j4 test` does a full check on the codebase, including running linters and
documentation tests. documentation tests.
If you are updating tests and just want to run a single test to check it:
```text
$ python tools/test.py -J --mode=release parallel/test-stream2-transform
```
You can execute the entire suite of tests for a given subsystem
by providing the name of a subsystem:
```text
$ python tools/test.py -J --mode=release child-process
```
If you want to check the other options, please refer to the help by using
the `--help` option
```text
$ python tools/test.py --help
```
You can usually run tests directly with node:
```text
$ ./node ./test/parallel/test-stream2-transform.js
```
Optionally, continue below. Optionally, continue below.
To run the tests and generate code coverage reports: To run the tests and generate code coverage reports: