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

test: fix timeout in sequential/test-fs-watch-system-limit #23560

Closed
wants to merge 180 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
9aa9e80
test: fix timeout when running sequential/test-fs-watch-system-limit.js
mmmscott Oct 12, 2018
3ab4146
deps: cherry-pick b0af309 from upstream V8
addaleax Oct 10, 2018
849aa1e
lib: migrate to getOptions in loaders.js
rxiayth Oct 12, 2018
c24e963
test: improve test coverage for fs module
leomoreno Oct 12, 2018
9f7e3a4
src: reduce platform worker barrier lifetime
ofrobots Oct 11, 2018
64d65ed
test: fix `assert.strictEqual` arguments in test/parallel/test-c-ares.js
jungkumseok Oct 12, 2018
f0c5c96
repl: remove unused variable e from try catch
khalidadil Oct 12, 2018
478fe0a
test: fix order of values in test assertions
jehaines Oct 12, 2018
dee9d27
test: fix http local address test assertion
widatama Oct 12, 2018
c301518
repl: remove unused variable from try catch
mmisiarek Oct 12, 2018
0005846
test: replace assert.throws w/ common.expectsError
aeisenberg Oct 12, 2018
84b21eb
test: strictEqual correct order for http-information-processing test
ivansieder Oct 12, 2018
a239270
test: fix assert.strictEqual argument order
andy-ganchrow Oct 12, 2018
68b4637
lib: remove unused 'e' from catch
pdxmholmes Oct 12, 2018
767d4da
test: swap assert.strictEqual args to actual, expected
epeden Oct 12, 2018
657ee7b
test: fix incorrect ordering of args in assert.strictEqual()
mdaum Oct 12, 2018
1c73990
test: correct assert test
rmarkins-godaddy Oct 12, 2018
8691d8f
test: remove unused e variable in catch statement
DennyScott Oct 12, 2018
c23d250
test: fix incorrect expectation order
Oct 12, 2018
ffa2710
test: correct order for assert.strictEqual for inspector-helper test
nolanmar511 Oct 12, 2018
3989785
test: update test-cluster-worker-events to use arrow functions
Oct 12, 2018
882e022
test: mark `test-http2-session-timeout` as flake on ARM
refack Oct 13, 2018
97d60f9
test: don't write to stream if test passed successfully
mmmscott Oct 13, 2018
dbfb5d4
test: fix timeout when running sequential/test-fs-watch-system-limit.js
mmmscott Oct 12, 2018
1ffcd0c
test: don't write to stream if test passed successfully
mmmscott Oct 13, 2018
b6b41be
Merge branch 'fix-fs-watch-limit-timeout' of https://github.com/marcu…
mmmscott Oct 13, 2018
401dac3
test: fix errors in test-buffer-alloc.js
Trott Oct 13, 2018
9d1c9d7
lib: migrate from process.binding to internalBinding
madeinjam Oct 12, 2018
0f8eaa4
doc,meta: add references to outside C++ guides
refack Oct 7, 2018
39ae000
doc,meta: refresh wording in colab guide
refack Oct 6, 2018
fc0da7f
doc,meta: assign PR semantics
refack Oct 6, 2018
b22903e
worker: remove delete MessagePort.prototype.hasRef
Oct 12, 2018
cf7b5a8
test: correctly order assertion arguments
sheminusminus Oct 12, 2018
a9e6e68
test: swap actual and expected in assertions
yitongding Oct 12, 2018
e48d9aa
test: replace function with arrow function
yitongding Oct 12, 2018
7f74515
test: flip assertion arguments for make-callback/test.js
Oct 12, 2018
f569ecf
readline: assert without the use of event listener
Oct 12, 2018
ede79c4
test: swap the order arguments are passed to assert
n370 Oct 12, 2018
eeb2c8f
doc: edit BUILDING.md
Trott Oct 12, 2018
ff8db70
benchmark: add common.binding()
cjihrig Oct 12, 2018
190d146
test: inline common module boolean
ashleysimpson Oct 12, 2018
20fb64c
test: remove unused variable from catch
Oct 12, 2018
ff3c56c
test: remove unused "e" from catch in http2 test
Oct 12, 2018
8059ff2
benchmark: added a test benchmark for worker
umarov Oct 12, 2018
541367a
test: removed mustCallAsync from common and added inside testcase
quinnlangille Oct 12, 2018
20b3698
src: throw if functions used as constructors in node_crypto.cc
bmacnaughton Oct 12, 2018
c19ab56
src: change constructor behavior in stream_base-inl.h
iansu Oct 12, 2018
cb6c33e
test: fix assert.strictEqual params order
webkku Oct 12, 2018
446aadd
test: fix argument order for assert.strictEqual
inklin Oct 12, 2018
7b3f14a
tls: update try catch syntax
UNLRN Oct 12, 2018
5799f41
lib: remove an unused variable
chenyil Oct 12, 2018
fd230c1
test: removed unused variable
Oct 12, 2018
8ce99fa
src: move default assignment of async_id_ in async_wrap.h
davesters Oct 12, 2018
6783eed
test: change to arrow functions in send-bad-arguments
annatangzhao Oct 12, 2018
ea9df8b
tools: update ESLint to 5.7.0
cjihrig Oct 12, 2018
98afca9
crypto: move field initialization to class
Oct 12, 2018
8d29569
doc: wrap links in <>
ChALkeR Sep 2, 2018
4ba1ddb
doc: fix pr-url in repl.md
ChALkeR Sep 2, 2018
0311fcc
doc: use reserved domains for examples in url.md
ChALkeR Sep 2, 2018
3b1baf6
doc: fix url example to match behavior
ChALkeR Oct 10, 2018
98d1d53
test: fix assertion order
Chrn Oct 12, 2018
2a1492a
test: move tick.js from test/async-hooks to test/common
arur Oct 12, 2018
e096df3
doc: add "tick" function name and argument description
arur Oct 13, 2018
b2e133a
test: fix assertion order test-tls-server-verify
Oct 12, 2018
0399650
lib: switch to internalBinding for cjs loader
DrakiaXYZ Oct 12, 2018
d5824f8
test: fix assertion argument order
carlrc Oct 12, 2018
61f5543
test: rename process.argv[0] to process.execPath, rename ex to err
kaltepeter Oct 12, 2018
fd28995
test: fix strictEqual argument order
fastereder Oct 12, 2018
5a30621
doc: add info how to run single tests to BUILDING.md
fastereder Oct 12, 2018
661e732
test: modernizing test-dgram-listen-after-bind with arrow functions
chrisforrette Oct 12, 2018
af68c55
test: fix argument order in asserts
Oct 12, 2018
f8af209
test: use arrow functions in test-exception-handler
jennazee Oct 12, 2018
656a0ac
lib: removed unused variable
Oct 12, 2018
65e2253
test: modernized test to use arrow functions
ggoforth Oct 12, 2018
3fda986
test: reversed arguments in strictqual to reflect documentation
scabhi Oct 12, 2018
98f170f
test: update function keywords to fat arrows
RobertMonks Oct 12, 2018
ecd9bc0
test: fix ordering of assertion values
maccuaa Oct 12, 2018
90e72da
test: fix strictEqual assertion arguments
a0viedo Oct 12, 2018
008b97a
test: fix assertions args order in test/parallel/test-fs-chmod.js
milsosa Oct 12, 2018
6b3b64f
test: fix argument order in assertions
Oct 12, 2018
50572c0
test: put expected assert value in correct place
jfarseneau-wb Oct 12, 2018
0b1be75
test: modernize test-child-process-flush-stdio
Oct 12, 2018
d362004
test: properly order test assertion variables
DavidRS91 Oct 12, 2018
179c3a8
test: fixed incorrect variable order in assert.strictEqual()
MokhammadDaniyal Oct 12, 2018
c95707f
test: fix order of assert.strictEqual() args to actual, expected
joshua-belcher Oct 12, 2018
7e4cc76
lib: migrate process.binding('config') to getOptions()
jonnyk20 Oct 12, 2018
32cef50
test: swap assert argument order in test-vm-create-and-run-in-context.js
lefrog Oct 12, 2018
d5abbab
test: switch arguments of assert()
FieldOfPoppies Oct 12, 2018
495ced0
test: fix assert order in test-vm-context
lee-gray Oct 12, 2018
101812e
lib: migrate process.binding to getOptions
randy5235 Oct 12, 2018
ad6b09f
test: use the correct parameter order on assert.strictEqual()
lrdcasimir Oct 12, 2018
544d497
lib: migrate process.binding to internalBinding
surreal8 Oct 12, 2018
8f68ed9
test: fix assert.strictEqual arg order in test-tls-ecdh-multiple.js
takdeerkaur Oct 12, 2018
8c86463
test: fix assert.strictEqual() argument order
benschaaf Oct 12, 2018
3a62c06
test: fix test-dgram-pingpong assertion arg order
gendelbendel Oct 12, 2018
183838d
test: corret assertion arg order in test-regress-GH-892.js
elvisphilipn Oct 12, 2018
3b47722
test: replaced functions with arrow functions
edgarzapeka Oct 12, 2018
3d8c512
test: refactor functions to es6
M1chaelChen Oct 12, 2018
2d76dec
test: updating assertion on test so it fits the new method signature
leomoreno Oct 12, 2018
0d6f014
src: remove unused UVHandle methods
MarianneDr Oct 12, 2018
c3ebc02
test: reorder asserts arguments
frony Oct 12, 2018
2441808
src: use default initializers over settings fields on the constructor
andrewjdmccann Oct 12, 2018
a24027f
test: correct labelling of asserts errors
nofwayy Oct 12, 2018
d51d1ad
test: fix strictEqual assertion argument in test-tls-ecdh-auto
popopome Oct 12, 2018
5ae0f11
test: fix assert.strictEqual() argument order
ssamuels0916 Oct 12, 2018
a0aa7ad
test: corrected the order of arguments in assert.strictEqual()
parisandmilo Oct 12, 2018
08b1047
test: use correct argument order for assert.strictEqual()
Oct 12, 2018
0f17c1c
test: updating assertion and expect order in test-tls-client-verify.js
Oct 12, 2018
f7a50f7
test: refactor callback functions to arrow functions
seanhealy Oct 12, 2018
5856a59
test: fix assertion argument order
carlrc Oct 12, 2018
37dfdcc
test: fix assertions argument order
KelvinLawHF1 Oct 12, 2018
810c0d9
src: use MallocedBuffer abstraction for buffers
codyhazelwood Oct 12, 2018
d83d3ed
test: swap expected and actual arguments in assert.strictEqual()
erin-bush Oct 12, 2018
446771e
test: added test for generateKeyPair
rxiayth Oct 12, 2018
3c2f9ad
test: reverse the order of assertion statement arguments in pingpong …
AllanZhengYP Oct 12, 2018
c5d0a48
test: fix assert.strictEqual() arguments order
Oct 12, 2018
0b0aeda
test: assert.strictEqual parameters ordered correctly
jdenbroeder Oct 12, 2018
9631190
test: switch strictEqual parameters - actual first before expected
chrisbautista Oct 12, 2018
83fa60b
test: fix strictEqual assertion order on readline tests
Oct 12, 2018
a5a1e9a
test: modernize test-crypto-domain
naris93 Oct 12, 2018
c0014d5
test: fix order of assert arguments in vm-new-script-this-context
Oct 12, 2018
7e2edc5
test: added async-hook benchmark
peterjreynoldsii Oct 12, 2018
f77f693
test: reverse order of args in reconnect-error assert
jackelin-herrera Oct 12, 2018
d9a1776
build: add .DS_store to .gitgnore
frony Oct 12, 2018
620c977
test: removed unused error variable in try catch
mhussa20 Oct 12, 2018
f034606
test: update strictEqual arguments order
crpahl Oct 12, 2018
ea1565e
test: removed unused variable in fs-watch-file-slow
makitoda Oct 12, 2018
ac23e65
buffer: move process.binding('buffer') to internalBinding
starkwang Aug 17, 2018
1343891
test: fix order of parameters to assert.strictEqual
jasonnutter Oct 12, 2018
c8986bb
test: fix argument order in assertions
Oct 12, 2018
c30658c
test: fix assert.strictEqual() parameter order in test-path-maklong.js
Oct 12, 2018
f87e966
test: fix assertion arguments order
seantcoyote Oct 12, 2018
93c918e
test: increased code coverage for proxySessionHandler
justin0022 Oct 12, 2018
9bf6e2e
test: reversed actual and expected values for .strictEqual()
sshakeel Oct 12, 2018
6df946c
test: add crypto.scrypt test case with different encoding
yitongding Oct 12, 2018
bc89f9b
test: fixed strictEqual arguments order
ruyadorno Oct 12, 2018
c596bcc
test: fix arguments ordering for assertions to match the docs
lirantal Oct 12, 2018
cac4909
test: augment tests for SourceTextModule
aeisenberg Oct 12, 2018
2505f05
test: fix order of arguments passed to strictEqual
eojthebrave Oct 12, 2018
552fe56
test: fix strictEqual input parameters order
AlixAng Oct 12, 2018
01d4047
test: corrected assertion arguments order
pliab Oct 12, 2018
093cf6f
test: fix strictEqual order for timers test
Oct 12, 2018
45ef905
src: add default initializer in tls_wrap
richardhoehn Oct 12, 2018
8a32a51
test: fix assert value order
EthanWeber7 Oct 12, 2018
22afe4f
test: fix parameter order of assertions
obxpete Oct 12, 2018
aee771c
test: fix assert.strictEqual() argument order
lotharthesavior Oct 12, 2018
4b7893d
test: switch order of assertion arguments
zzidante Oct 12, 2018
c56f38f
test: updated assert test values to doc standards
keeysnc Oct 12, 2018
3f7755b
test: fix assertion order
ErickWendel Oct 12, 2018
5726173
module: removed unused variable
momander Oct 12, 2018
955148a
test: correct assertion argument order
JeffMarvin Oct 12, 2018
4e82835
test: reversed 1st and 2nd arguments for assert.strictEqual()
vchoubey08 Oct 12, 2018
1fcf83a
test: fix backward assertion arguments
svassr Oct 12, 2018
fca2173
test: update assertion parameter order
seanhealy Oct 12, 2018
99c1690
test: reverse arguments in assert.strictEqual
past5 Oct 12, 2018
a039c86
test: fix parameters in test-repl.js
binaryme Oct 12, 2018
31cb297
test: fix assertions args order
milsosa Oct 12, 2018
6151040
test: re-order strictEqual paramater calls
ptichonczuk-tc Oct 12, 2018
febb765
test: fix order of assert args in client response domain test
sheminusminus Oct 12, 2018
17c35a6
src: change macro to fn
Oct 12, 2018
f781b2c
test: fix assert equal order of arguments
Oct 12, 2018
f8b1e0e
test: change order of assert.strictEquals arguments
chucktheobald Oct 12, 2018
697c3da
test: fix assert parameter order in test-https-localaddress.js
iansu Oct 12, 2018
1237c14
test: fix assert.strictEqual() argument order
Oct 12, 2018
a979443
test: assertions arguments match docs
Agheb Oct 12, 2018
b2e4cb7
test: increased code coverage for slowCases
jehaines Oct 12, 2018
561e30d
test: use smaller keys for a faster keygen test
sam-github Oct 11, 2018
1a2cf66
async_hooks: remove promise object from resource
AndreasMadsen Oct 12, 2018
74f854e
test: add test coverage for fs.truncate
christian-bromann Oct 12, 2018
c34eae5
zlib: refactor zlib internals
addaleax Sep 22, 2018
91fe7e5
src: add deprecation warning to errname()
dtoki Oct 12, 2018
b4a5ff9
test: fix strictEqual arguments order
jonathansamines Oct 12, 2018
a17077f
test: simplify test case by just writing directly to stream object
mmmscott Oct 16, 2018
9a32087
test: fix timeout when running sequential/test-fs-watch-system-limit.js
mmmscott Oct 12, 2018
860e82f
test: don't write to stream if test passed successfully
mmmscott Oct 13, 2018
77f3ae8
test: fix timeout when running sequential/test-fs-watch-system-limit.js
mmmscott Oct 12, 2018
8f9b07d
test: don't write to stream if test passed successfully
mmmscott Oct 13, 2018
8024ad9
test: don't write to stream if test passed successfully
mmmscott Oct 13, 2018
b4468d9
test: simplify test case by just writing directly to stream object
mmmscott Oct 16, 2018
7e51c77
Merge branch 'fix-fs-watch-limit-timeout' of https://github.com/marcu…
mmmscott Oct 16, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,5 @@ deps/uv/docs/src/guide/
deps/v8/gypfiles/Debug/
deps/v8/gypfiles/Release/
deps/v8/third_party/eu-strip/

.DS_Store
149 changes: 86 additions & 63 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,40 +10,42 @@ file a new issue.

## Table of Contents

* [Supported platforms](#supported-platforms)
* [Input](#input)
* [Strategy](#strategy)
* [Supported platforms](#supported-platforms-1)
* [Supported toolchains](#supported-toolchains)
* [Unix](#unix)
* [AIX](#aix)
* [Windows](#windows)
* [OpenSSL asm support](#openssl-asm-support)
* [Building Node.js on supported platforms](#building-nodejs-on-supported-platforms)
* [Unix/macOS](#unixmacos)
* [Prerequisites](#prerequisites)
* [Building Node.js](#building-nodejs-1)
* [Running Tests](#running-tests)
* [Building the documentation](#building-the-documentation)
* [Building a debug build](#building-a-debug-build)
* [Windows](#windows-1)
* [Android/Android-based devices (e.g. Firefox OS)](#androidandroid-based-devices-eg-firefox-os)
* [`Intl` (ECMA-402) support](#intl-ecma-402-support)
* [Default: `small-icu` (English only) support](#default-small-icu-english-only-support)
* [Build with full ICU support (all locales supported by ICU)](#build-with-full-icu-support-all-locales-supported-by-icu)
* [Unix/macOS](#unixmacos-1)
* [Windows](#windows-2)
* [Building without Intl support](#building-without-intl-support)
* [Unix/macOS](#unixmacos-2)
* [Windows](#windows-3)
* [Use existing installed ICU (Unix/macOS only)](#use-existing-installed-icu-unixmacos-only)
* [Build with a specific ICU](#build-with-a-specific-icu)
* [Unix/macOS](#unixmacos-3)
* [Windows](#windows-4)
* [Building Node.js with FIPS-compliant OpenSSL](#building-nodejs-with-fips-compliant-openssl)
* [Building Node.js with external core modules](#building-nodejs-with-external-core-modules)
* [Unix/macOS](#unixmacos-4)
* [Windows](#windows-5)
- [Building Node.js](#building-nodejs)
- [Table of Contents](#table-of-contents)
- [Supported platforms](#supported-platforms)
- [Input](#input)
- [Strategy](#strategy)
- [Supported platforms](#supported-platforms)
- [Supported toolchains](#supported-toolchains)
- [Unix](#unix)
- [AIX](#aix)
- [Windows](#windows)
- [OpenSSL asm support](#openssl-asm-support)
- [Building Node.js on supported platforms](#building-nodejs-on-supported-platforms)
- [Unix/macOS](#unixmacos)
- [Prerequisites](#prerequisites)
- [Building Node.js](#building-nodejs)
- [Running Tests](#running-tests)
- [Building the documentation](#building-the-documentation)
- [Building a debug build](#building-a-debug-build)
- [Windows](#windows)
- [Android/Android-based devices (e.g. Firefox OS)](#androidandroid-based-devices-eg-firefox-os)
- [`Intl` (ECMA-402) support:](#intl-ecma-402-support)
- [Default: `small-icu` (English only) support](#default-small-icu-english-only-support)
- [Build with full ICU support (all locales supported by ICU):](#build-with-full-icu-support-all-locales-supported-by-icu)
- [Unix/macOS:](#unixmacos)
- [Windows:](#windows)
- [Building without Intl support](#building-without-intl-support)
- [Unix/macOS:](#unixmacos)
- [Windows:](#windows)
- [Use existing installed ICU (Unix/macOS only):](#use-existing-installed-icu-unixmacos-only)
- [Build with a specific ICU:](#build-with-a-specific-icu)
- [Unix/macOS](#unixmacos)
- [Windows](#windows)
- [Building Node.js with FIPS-compliant OpenSSL](#building-nodejs-with-fips-compliant-openssl)
- [Building Node.js with external core modules](#building-nodejs-with-external-core-modules)
- [Unix/macOS](#unixmacos)
- [Windows](#windows)

## Supported platforms

Expand All @@ -52,8 +54,7 @@ which it is attached.

### Input

Node.js relies on V8 and libuv. Therefore, we adopt a subset of their
supported platforms.
Node.js relies on V8 and libuv. We adopt a subset of their supported platforms.

### Strategy

Expand All @@ -74,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
platforms in production.

| System | Support type | Version | Architectures | Notes |
|--------------|--------------|----------------------------------|----------------------|------------------|
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | |
| GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | |
| 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) |
| SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | [1](#fn1) |
| FreeBSD | Tier 2 | >= 11 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le >=power8 | |
| AIX | Tier 2 | >= 7.1 TL04 | ppc64be >=power7 | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| GNU/Linux | Experimental | kernel >= 2.6.32, glibc >= 2.12 | x86 | limited CI |
| Linux (musl) | Experimental | musl >= 1.0 | x64 | |
| System | Support type | Version | Architectures | Notes |
| ------------ | ------------ | ------------------------------- | ---------------- | ----------------------------- |
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | |
| GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | |
| 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) |
| SmartOS | Tier 2 | >= 15 < 16.4 | x86, x64 | [1](#fn1) |
| FreeBSD | Tier 2 | >= 11 | x64 | |
| GNU/Linux | Tier 2 | kernel >= 3.13.0, glibc >= 2.19 | ppc64le >=power8 | |
| AIX | Tier 2 | >= 7.1 TL04 | ppc64be >=power7 | |
| GNU/Linux | Tier 2 | kernel >= 3.10, glibc >= 2.17 | s390x | |
| GNU/Linux | Experimental | kernel >= 2.6.32, glibc >= 2.12 | x86 | limited CI |
| Linux (musl) | Experimental | musl >= 1.0 | x64 | |

<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
Expand All @@ -111,8 +112,8 @@ platforms in production.
community will only address issues that reproduce on native GNU/Linux
systems. Issues that only reproduce on WSL should be reported in the
[WSL issue tracker](https://github.com/Microsoft/WSL/issues). Running the
Windows binary (`node.exe`) in WSL is not recommended, and will not work
without adjustment (such as stdio redirection).
Windows binary (`node.exe`) in WSL is not recommended. It will not work
without workarounds such as stdio redirection.

### Supported toolchains

Expand Down Expand Up @@ -144,10 +145,8 @@ Otherwise `configure` will fail with an error. This can be avoided by
either providing a newer assembler as per the list above or by
using the `--openssl-no-asm` flag.

*Note:* The forthcoming OpenSSL-1.1.1 will require higher
version. Please refer
https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_ia32cap.html for
details.
The forthcoming OpenSSL-1.1.1 will have different requirements. Please refer to
https://www.openssl.org/docs/man1.1.1/man3/OPENSSL_ia32cap.html for details.

## Building Node.js on supported platforms

Expand Down Expand Up @@ -216,7 +215,7 @@ $ make test-only

At this point, you are ready to make code changes and re-run the tests.

If you are running tests prior to submitting a Pull Request, the recommended
If you are running tests before submitting a Pull Request, the recommended
command is:

```console
Expand All @@ -226,6 +225,32 @@ $ make -j4 test
`make -j4 test` does a full check on the codebase, including running linters and
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.

To run the tests and generate code coverage reports:
Expand Down Expand Up @@ -344,7 +369,7 @@ Prerequisites:
and tools which can be included in the global `PATH`.
* The [NetWide Assembler](http://www.nasm.us/), for OpenSSL assembler modules.
If not installed in the default location, it needs to be manually added
to `PATH`. Build with `openssl-no-asm` option does not require this.
to `PATH`. A build with the `openssl-no-asm` option does not need this.
* **Optional** (to build the MSI): the [WiX Toolset v3.11](http://wixtoolset.org/releases/)
and the [Wix Toolset Visual Studio 2017 Extension](https://marketplace.visualstudio.com/items?itemName=RobMensching.WixToolsetVisualStudio2017Extension).

Expand All @@ -369,12 +394,10 @@ To test if Node.js was built correctly:

### Android/Android-based devices (e.g. Firefox OS)

Although these instructions for building on Android are provided, please note
that Android is not an officially supported platform at this time. Patches to
improve the Android build are accepted. However, there is no testing on Android
in the current continuous integration environment. The participation of people
dedicated and determined to improve Android building, testing, and support is
encouraged.
Android is not a supported platform. Patches to improve the Android build are
welcome. There is no testing on Android in the current continuous integration
environment. The participation of people dedicated and determined to improve
Android building, testing, and support is encouraged.

Be sure you have downloaded and extracted
[Android NDK](https://developer.android.com/tools/sdk/ndk/index.html) before in
Expand Down
27 changes: 16 additions & 11 deletions COLLABORATOR_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ As soon as the PR is ready to land, please do so. Landing your own pull requests
allows other Collaborators to focus on other pull requests. If your pull request
is still awaiting the [minimum time to land](#waiting-for-approvals), add the
`author ready` label so other Collaborators know it can land as soon as the time
ends.
ends. If instead you wish to land the PR yourself, indicate this intent by using
the "assign yourself" button, to self-assign the PR.

## Accepting Modifications

Expand Down Expand Up @@ -501,12 +502,16 @@ The TSC should serve as the final arbiter where required.

## Landing Pull Requests

1. Avoid landing PRs that are assigned to someone else. Authors who wish to land
their own PRs will self-assign them, or delegate to someone else. If in
doubt, ask the assignee whether it is okay to land.
1. Never use GitHub's green ["Merge Pull Request"][] button. Reasons for not
using the web interface button:
* The merge method will add an unnecessary merge commit.
* The squash & merge method can add metadata (the PR #) to the commit title.
* If more than one author has contributed to the PR, keep the most recent
author when squashing.
* The "Create a merge commit" method will add an unnecessary merge commit.
* The "Squash and merge" method will add metadata (the PR #) to the commit
title. If more than one author has contributed to the PR, squashing will
only keep the most recent author.
* The "Rebase and merge" method has no way of adding metadata to the commit.
1. Make sure the CI is done and the result is green. If the CI is not green,
check for flaky tests and infrastructure failures. Please check if those were
already reported in the appropriate repository ([node][flaky tests] and
Expand All @@ -517,13 +522,12 @@ The TSC should serve as the final arbiter where required.
present.
1. Review the commit message to ensure that it adheres to the guidelines
outlined in the [contributing][] guide.
1. Add all necessary [metadata](#metadata) to commit messages before landing.
See the commit log for examples such as [this
one](https://github.com/nodejs/node/commit/b636ba8186) if unsure exactly how
to format your commit messages.
1. Add all necessary [metadata](#metadata) to commit messages before landing. If
you are unsure exactly how to format the commit messages, use the commit log
as a reference. See [this commit][commit-example] as an example.

Check PRs from new contributors to make sure the person's name and email address
are correct before merging.
For PRs from first time contributors, be [welcoming](#welcoming-first-time-contributors).
Also, verify that their git settings are to their liking.

All commits should be self-contained, meaning every commit should pass all
tests. This makes it much easier when bisecting to find a breaking change.
Expand Down Expand Up @@ -901,6 +905,7 @@ If you cannot find who to cc for a file, `git shortlog -n -s <file>` may help.
[`node-core-utils`]: https://github.com/nodejs/node-core-utils
[backporting guide]: doc/guides/backporting-to-release-lines.md
[contributing]: ./doc/guides/contributing/pull-requests.md#commit-message-guidelines
[commit-example]: https://github.com/nodejs/node/commit/b636ba8186
[flaky tests]: https://github.com/nodejs/node/issues?q=is%3Aopen+is%3Aissue+label%3A%22CI+%2F+flaky+test%22y
[git-node]: https://github.com/nodejs/node-core-utils/blob/master/docs/git-node.md
[git-node-metadata]: https://github.com/nodejs/node-core-utils/blob/master/docs/git-node.md#git-node-metadata
Expand Down
31 changes: 26 additions & 5 deletions CPP_STYLE_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Table of Contents

* [Guides and References](#guides-and-references)
* [Formatting](#formatting)
* [Left-leaning (C++ style) asterisks for pointer declarations](#left-leaning-c-style-asterisks-for-pointer-declarations)
* [C++ style comments](#c-style-comments)
Expand All @@ -25,14 +26,30 @@
* [Avoid throwing JavaScript errors in C++ methods](#avoid-throwing-javascript-errors-in-c)
* [Avoid throwing JavaScript errors in nested C++ methods](#avoid-throwing-javascript-errors-in-nested-c-methods)

Unfortunately, the C++ linter (based on
[Google’s `cpplint`](https://github.com/google/styleguide)), which can be run
explicitly via `make lint-cpp`, does not currently catch a lot of rules that are
specific to the Node.js C++ code base. This document explains the most common of
these rules:

## Guides and References

The Node.js C++ codebase strives to be consistent in its use of language
features and idioms, as well as have some specific guidelines for the use of
runtime features.

Coding guidelines are based on the following guides (highest priority first):
1. This document
2. The [Google C++ Style Guide][]
3. The ISO [C++ Core Guidelines][]

In general code should follow the C++ Core Guidelines, unless overridden by the
Google C++ Style Guide or this document. At the moment these guidelines are
checked manually by reviewers, with the goal to validate this with automatic
tools.

## Formatting

Unfortunately, the C++ linter (based on [Google’s `cpplint`][]), which can be
run explicitly via `make lint-cpp`, does not currently catch a lot of rules that
are specific to the Node.js C++ code base. This document explains the most
common of these rules:

### Left-leaning (C++ style) asterisks for pointer declarations

`char* buffer;` instead of `char *buffer;`
Expand Down Expand Up @@ -304,4 +321,8 @@ not inside of nested calls.

Using C++ `throw` is not allowed.


[C++ Core Guidelines]: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
[Google C++ Style Guide]: https://google.github.io/styleguide/cppguide.html
[Google’s `cpplint`]: https://github.com/google/styleguide
[errors]: https://github.com/nodejs/node/blob/master/doc/guides/using-internal-errors.md
10 changes: 10 additions & 0 deletions benchmark/common.js
Original file line number Diff line number Diff line change
Expand Up @@ -242,3 +242,13 @@ Benchmark.prototype.report = function(rate, elapsed) {
type: 'report'
});
};

exports.binding = function(bindingName) {
try {
const { internalBinding } = require('internal/test/binding');

return internalBinding(bindingName);
} catch {
return process.binding(bindingName);
}
};
3 changes: 1 addition & 2 deletions benchmark/http/bench-parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ const bench = common.createBenchmark(main, {
});

function main({ len, n }) {
const { internalBinding } = require('internal/test/binding');
const { HTTPParser } = internalBinding('http_parser');
const { HTTPParser } = common.binding('http_parser');
const REQUEST = HTTPParser.REQUEST;
const kOnHeaders = HTTPParser.kOnHeaders | 0;
const kOnHeadersComplete = HTTPParser.kOnHeadersComplete | 0;
Expand Down
2 changes: 1 addition & 1 deletion benchmark/misc/punycode.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
const common = require('../common.js');
let icu;
try {
icu = process.binding('icu');
icu = common.binding('icu');
} catch (err) {}
const punycode = require('punycode');

Expand Down
6 changes: 2 additions & 4 deletions benchmark/misc/trace.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const bench = common.createBenchmark(main, {

const {
TRACE_EVENT_PHASE_NESTABLE_ASYNC_BEGIN: kBeforeEvent
} = process.binding('constants').trace;
} = common.binding('constants').trace;

function doTrace(n, trace) {
bench.start();
Expand All @@ -31,12 +31,10 @@ function doIsTraceCategoryEnabled(n, isTraceCategoryEnabled) {
}

function main({ n, method }) {
const { internalBinding } = require('internal/test/binding');

const {
trace,
isTraceCategoryEnabled
} = internalBinding('trace_events');
} = common.binding('trace_events');

switch (method) {
case '':
Expand Down
Loading