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: add --repeat option to tools/test.py #7740

Closed
wants to merge 262 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
262 commits
Select commit Hold shift + click to select a range
68d42c8
http_parser: use `MakeCallback`
trevnorris Feb 19, 2016
534e199
src,http: fix uncaughtException miss in http
trevnorris Mar 4, 2016
6084a7c
src,http_parser: remove KickNextTick call
trevnorris Mar 11, 2016
4700cda
src: reword command and add ternary
trevnorris Mar 23, 2016
9369f92
async_wrap: setupHooks now accepts object
trevnorris Feb 22, 2016
ff60886
async_wrap: notify post if intercepted exception
trevnorris Feb 23, 2016
505e9b6
async_wrap: don't abort on callback exception
trevnorris Mar 14, 2016
f14d9cf
async_wrap: pass uid to JS as double
trevnorris Jun 1, 2016
c7c5a78
tls,https: respect address family when connecting
bnoordhuis May 9, 2016
8cbcea0
test: use strictEqual consistently in agent test
bnoordhuis May 28, 2016
ceb1377
debugger: propagate --debug-port= to debuggee
bnoordhuis Oct 21, 2015
739d83f
test: work around debugger not killing inferior
bnoordhuis May 28, 2016
48949fb
build: enable compilation for linuxOne
mhdawson Mar 28, 2016
5f9110e
test: run v8 tests from node tree
exinfinitum Mar 28, 2015
c6fab00
deps: backport 9c927d0f01 from V8 upstream
MylesBorins Jun 28, 2016
72de1ce
tools: explicit path for V8 test tap output
Jun 28, 2016
395f4be
zlib: release callback and buffer after processing
mdlavin May 24, 2016
73ceb7c
vm: don't abort process when stack space runs out
addaleax May 20, 2016
5ba807a
module: don't cache uninitialized builtins
addaleax May 20, 2016
5cf3845
deps: backport e7cc609 from upstream V8
ofrobots Jun 15, 2016
e319d76
deps: fix segfault during gc
ofrobots Jun 15, 2016
9ac3971
child_process: emit IPC messages on next tick
cjihrig May 20, 2016
8293968
test: verify IPC messages are emitted on next tick
santigimeno May 21, 2016
8aba411
cluster: close ownerless handles on disconnect()
cjihrig May 23, 2016
9532dd8
util: improve util.format performance
evanlucas Feb 22, 2016
34dc1cd
util: improve format() performance further
mscdex Feb 23, 2016
74dce1b
test: test cluster worker disconnection on error
santigimeno May 23, 2016
6db4dab
build: split CI rules in Makefile
joaocgreis Jun 15, 2016
36a7034
deps: update to http-parser 2.7.0
indutny Jun 8, 2016
a5d5d02
http: skip body and next message of CONNECT res
indutny Apr 19, 2016
fb88542
test: add test for responses to HTTP CONNECT req
slushie Apr 19, 2016
a27eeab
buffer: backport --zero-fill-buffers cli option
jasnell Mar 16, 2016
aee23f8
doc: git mv to .md
eljefedelrodeodeljefe Jul 1, 2016
80e498c
win,build: add creation of zip and 7z package
bzoz Mar 24, 2016
84b8061
test,win: skip addons/load-long-path on WOW64
orangemocha Jul 8, 2016
725c8c4
buffer: ignore negative allocation lengths
addaleax May 29, 2016
12d9769
buffer: backport new buffer constructor APIs to v4.x
ChALkeR Jun 19, 2016
8a3e6ea
deps: backport 22c5e46 from V8
Jul 6, 2016
b55e65a
doc: note that process.config can and will be changed
jasnell Apr 19, 2016
55f0f88
src: add process.binding('config')
jasnell Apr 19, 2016
65ede67
tls: use process.binding('config') to detect fips mode
jasnell Jul 5, 2016
f56125e
deps: upgrade libuv to 1.9.0
saghul Apr 1, 2016
eaab802
deps: upgrade libuv to 1.9.1
saghul May 16, 2016
350a883
unix,stream: fix getting the correct fd for a handle
saghul May 18, 2016
139f9f0
tty: use blocking mode on OS X
Fishrock123 May 20, 2016
973abab
udp: use libuv API to get file descriptor
saghul May 20, 2016
c4def78
test: test TTY problems by fakeing a TTY using openpty
Fishrock123 May 20, 2016
70a8411
src: add node::FreeEnvironment public API
zcbenz Sep 28, 2015
18e1bb6
doc: add vm example, be able to require modules
eljefedelrodeodeljefe Apr 21, 2016
48405be
repl: copying tabs shouldn't trigger completion
ghaiklor May 13, 2016
a6113bc
doc: document socket.destroyed
tusharmath Apr 9, 2016
d7b13f2
assert: allow circular references
Trott Apr 27, 2016
944ac54
test: add tests for stream3 buffering using cork
alexjeffburke May 12, 2016
331d3de
test: avoid test-cluster-master-* flakiness
stefanmb May 2, 2016
39fbc18
test: unmark test-http-regr-gh-2928 as flaky
Trott May 3, 2016
e1944eb
doc: Add resolveNaptr and naptr rrtype docs
doug-wade May 5, 2016
ab55d12
test: make stdout buffer test more robust
Trott May 7, 2016
175a2a1
test: pass python path to node-gyp
hefangshi May 9, 2016
1785e97
doc: server.listen truncates socket path on unix
jeanregisser May 9, 2016
b1fe6cc
tools: print stderr on bad test.py `vmArch` check
Fishrock123 May 16, 2016
cba189e
build: unbreak configure with python 2.6
bnoordhuis May 19, 2016
b2a8eab
installer: don't install node_internals.h
bnoordhuis May 21, 2016
f1677e8
test: fix component printing on windows
bnoordhuis May 21, 2016
c35762b
src: fix Windows segfault with `--eval`
May 23, 2016
6daebb0
child_process: allow buffer encoding in spawnSync
cjihrig May 23, 2016
830675e
test: refactor spawnSync() cwd test
cjihrig May 23, 2016
9ad0eea
doc: specify how to link issues in commit log
lpinca Jun 5, 2016
075cbac
doc: remove cluster.setupMaster() myth
cjihrig Jun 6, 2016
c3de701
http: fix no dumping after `maybeReadMore`
indutny Jun 4, 2016
b306e61
doc,dgram: fix addMembership documentation
santigimeno Jun 9, 2016
e4007cb
doc: update build instructions for Windows
joaocgreis Jun 13, 2016
cd12cfd
test: listen on and connect to 127.0.0.1
bnoordhuis Jul 2, 2016
aa7ca85
benchmark: add util.format benchmark
evanlucas Feb 22, 2016
affa8f6
doc: Add CTC meeting minutes for 2016-05-04
mhdawson May 4, 2016
c1ad830
doc: add bmeck to collaborators
bmeck May 25, 2016
059c209
doc: add firedfox to collaborators
firedfox May 24, 2016
3ba5d13
cluster: guard against undefined message handlers
cjihrig May 20, 2016
756396e
doc: add yorkie to collaborators
yorkie May 26, 2016
fb451eb
test: verify cluster worker exit
cjihrig May 26, 2016
205ddba
doc: clarified use of sexual language in the CoC
nebrius May 25, 2016
c7f3841
doc: improve `server.address()` doc text
Trott May 26, 2016
d106702
doc: improve server.listen() documentation prose
Trott May 26, 2016
fb8232a
doc: add info on what's used for fswatch on AIX
mhdawson May 18, 2016
58a3852
test: remove modifcation to common.PORT
Trott May 26, 2016
7e36ab2
doc: update labels and CI info in onboarding doc
Trott May 26, 2016
d4a0288
doc: fix typos in WORKING_GROUPS.md
joaosa May 28, 2016
936271c
doc: improve debugger doc prose
Trott May 26, 2016
c0081b1
test: fix test-debug-port-numbers on OS X
santigimeno May 29, 2016
521f74a
doc,test: add `How to write a Node.js test` guide
santigimeno May 26, 2016
978554f
test: remove `common.PORT` from gc tests
Trott May 27, 2016
914d146
cluster: rewrite debug ports consistently
cjihrig May 29, 2016
6a85acc
test: remove non-incremental common.PORT changes
Trott May 29, 2016
0a89108
doc: Add CII Best Practices badge to README.md
david-a-wheeler May 17, 2016
72411f0
test: remove disabled eio race test
Trott May 31, 2016
94c2ec8
benchmark: add benchmark for Buffer.concat
addaleax May 29, 2016
b3952fb
doc: fix header depth of util.isSymbol
jasnell Jun 3, 2016
188960d
test: improve debug-break-on-uncaught reliability
Trott May 16, 2016
3ed7683
child_process: measure buffer length in bytes
Trott May 14, 2016
ce0a1fa
http: wait for both prefinish/end to keepalive
indutny Jun 4, 2016
3299ad3
test: make test-child-process-fork-net more robust
Trott May 28, 2016
308723e
test: add test for uid/gid setting in spawn
Trott May 31, 2016
7f18417
doc: fix events typo
greysonp Jun 17, 2016
95ee70e
doc: add internal link in GOVERNANCE.md
Trott Jun 12, 2016
c5c7603
test: enable test-debug-brk-no-arg
Trott Jun 3, 2016
f0f62e5
test: fix spawn on windows
mscdex May 29, 2016
69665de
doc: fix IRC link
imyller Jun 8, 2016
8d216d9
doc: clarify use of `0` port value
Trott Jun 7, 2016
06d130a
doc: use `Buffer.byteLength` for Content-Length
kimown Jun 12, 2016
3d00c78
tools: fix license builder to work with icu-small
Jun 3, 2016
826cec8
benchmark: add benchmark for url.format()
Trott Jun 9, 2016
6ec05db
test: add tests for some stream.Readable uses
addaleax Jun 10, 2016
998ce1c
debugger: remove obsolete setTimeout
Trott Jun 4, 2016
5e19425
doc: fixing minor typo in AtExit hooks section
danbev Jun 29, 2016
335a90b
test: mark test-vm-timeout flaky on windows
Trott Jun 22, 2016
83a1051
doc: add RReverser to collaborators
RReverser Jun 22, 2016
041edab
doc: mention http request "aborted" events
kemitchell Jun 10, 2016
f0d7193
doc: update "who to cc in issues" chart
Fishrock123 May 11, 2016
23c26a3
doc: add lance to collaborators
lance Jun 24, 2016
c2b6098
doc: add CTC meeting minutes 2016-06-15
joshgav Jun 16, 2016
e626c3c
repl: fix tab completion for defined commands
princejwesley Jun 22, 2016
6f5d939
doc: clarify child_process stdout/stderr types
sartrey Jun 22, 2016
7db0d3f
doc: fix "sign.verify" typo in crypto doc.
rus0000 Jun 24, 2016
fc851e8
assert: remove unneeded arguments special handling
Trott Jun 24, 2016
7d47f3e
doc: improve usage of `zero`/`0`
Trott Jun 28, 2016
fb73122
test: remove common.PORT from http tests
Trott Jun 29, 2016
90d36c8
doc: fix detached child stdio example
cjihrig Jul 5, 2016
f59981a
doc: add bartosz sosnowski to colaborators
bzoz Jul 6, 2016
6c06020
doc: fix minor style issues in http.md
Trott Jul 4, 2016
df5a82b
test: fix flaky test-net-write-slow
Trott Jul 6, 2016
bb54aa7
doc: added information on how to run the linter.
diosney Jul 4, 2016
b6e70d6
doc: add benchmark who-to-CC info
Trott Jul 8, 2016
7bd2666
doc: dns.resolve fix callback argument description
qheaden Jul 4, 2016
02db9a0
tools: remove unused variable
Trott Jul 7, 2016
d40e8f1
test: remove unused var in test-tls-server-verify
Trott Jul 7, 2016
3f9a392
test: remove unused var from child-process-fork
Trott Jul 7, 2016
cf5de6a
test: remove unused var from stream2 test
Trott Jul 7, 2016
eeb0b80
test: remove unused var in net-server-try-ports
Trott Jul 7, 2016
0df6431
benchmark: remove unused variables
Trott Jul 7, 2016
820ad4d
test: remove unused vars from http/https tests
Trott Jul 7, 2016
70ea216
tools: update ESLint, fix unused vars bug
Trott Jul 7, 2016
e9e2d3b
test: update weak module for gc tests
Trott May 27, 2016
42a6d01
test: test isFullWidthCodePoint with invalid input
Trott Jun 25, 2016
f51dd31
doc: fix cluster worker 'message' event
cjihrig Jun 15, 2016
8463b7e
src: remove unused #include statement
bnoordhuis May 4, 2016
f65b106
src: don't use locale-sensitive strcasecmp()
bnoordhuis May 4, 2016
6b660fd
tools: update certdata.txt
bnoordhuis Jun 22, 2016
8c73688
crypto: update root certificates
bnoordhuis Jun 22, 2016
65a4b6f
test: remove internet/test-tls-connnect-cnnic
bnoordhuis Jun 23, 2016
08f2624
src: check uv_async_init() return value
bnoordhuis Jun 22, 2016
26f4bf4
src: guard against starting fs watcher twice
bnoordhuis Jun 22, 2016
9008a2d
src: remove unused data member write_queue_size_
bnoordhuis Jun 22, 2016
04d968f
src: remove unused md_ data members
bnoordhuis Jun 22, 2016
bf8ac55
src: remove duplicate HMAC_Init calls
bnoordhuis Jun 22, 2016
f3610ca
src: remove deprecated HMAC_Init, use HMAC_Init_ex
bnoordhuis Jun 22, 2016
9498059
src: fix use-after-return in zlib bindings
bnoordhuis Jun 22, 2016
b30feb1
src: fix bad logic in uid/gid checks
bnoordhuis Jun 22, 2016
481b940
tls: catch `certCbDone` exceptions
indutny May 20, 2016
6fce484
build: add v8 requirement to test-v8* in Makefile
targos Jun 29, 2016
728eab1
build: use BUILDTYPE when building V8 in Makefile
targos Jun 30, 2016
d7d9990
test: add test for exec() known issue
Trott Jun 22, 2016
1622bac
Revert "child_process: measure buffer length in bytes"
Trott Jun 22, 2016
0923c00
child_process: preserve argument type
Trott Jun 23, 2016
849f7b1
cluster: don't send messages if no IPC channel
santigimeno May 31, 2016
27b5512
cluster: reset handle index on close
santigimeno May 25, 2016
1c410bf
buffer: fix dataview-set benchmark
RReverser May 22, 2016
2724394
vm: don't print out arrow message for custom error
addaleax Jun 24, 2016
1cdf65c
src: fix sporadic deadlock in SIGUSR1 handler
bnoordhuis Mar 25, 2016
2657d53
src: unify implementations of Utf8Value etc.
addaleax Apr 23, 2016
a3d602b
tools: update cpplint to r456
bnoordhuis Jun 28, 2016
b1d403d
tools: disable unwanted cpplint rules again
bnoordhuis Jun 28, 2016
3a381a8
tools: add back --mode=tap to cpplint
bnoordhuis Jun 28, 2016
0bb8a71
tools: allow cpplint to run outside git repo
bnoordhuis Jun 28, 2016
0bf8eed
src: fix build/c++tr1 cpplint warnings
bnoordhuis Jun 28, 2016
d977e97
src: fix build/header_guard cpplint warnings
bnoordhuis Jun 28, 2016
9100b4b
src: fix readability/braces cpplint warnings
bnoordhuis Jun 28, 2016
8902b12
src: fix readability/constructors cpplint warnings
bnoordhuis Jun 28, 2016
e90629a
src: fix readability/inheritance cpplint warnings
bnoordhuis Jun 28, 2016
f62f520
src: fix readability/namespace cpplint warnings
bnoordhuis Jun 28, 2016
10f6c07
src: fix readability/nolint cpplint warnings
bnoordhuis Jun 28, 2016
7bc1894
src: fix runtime/indentation_namespace warnings
bnoordhuis Jun 28, 2016
5b543f9
src: fix runtime/int cpplint warnings
bnoordhuis Jun 28, 2016
08c83b3
src: fix runtime/references cpplint warnings
bnoordhuis Jun 28, 2016
2879711
src: fix whitespace/blank_line cpplint warnings
bnoordhuis Jun 28, 2016
d18e8fc
src: fix whitespace/indent cpplint warnings
bnoordhuis Jun 28, 2016
f40f882
build: remove unused files from CPPLINT_FILES
bnoordhuis Jun 28, 2016
5daf07e
src: lint node_win32_perfctr_provider.cc
bnoordhuis Jun 28, 2016
59575b1
src: lint node_lttng_tp.h
bnoordhuis Jun 28, 2016
f9e835c
src: lint v8abbr.h
bnoordhuis Jun 28, 2016
93c68a1
tools: fix -Wunused-variable warning
bnoordhuis Jun 28, 2016
e84388b
src: remove obsolete NOLINT comments
bnoordhuis Jun 28, 2016
4c431ce
src: fix memory leak in WriteBuffers() error path
bnoordhuis Jun 22, 2016
1336a7b
test: fix flaky test-vm-timeout
addaleax Jun 22, 2016
04814ed
Revert "test: mark test-vm-timeout flaky on windows"
addaleax Jun 22, 2016
a0ebd1e
doc: add `added:` information for assert
Trott May 11, 2016
55a3b41
doc: add `added:` information for child_process
addaleax May 23, 2016
7138a42
doc: add `added: ` data for cli.md
Trott May 25, 2016
1ba9016
doc: add `added:` information for console
edsadr May 26, 2016
f52831f
doc: add `added:` information for dns
julianduque May 27, 2016
b9f8c83
doc: add `added:` information for https
addaleax Jun 23, 2016
99723b2
doc: add `added` information for net
italoacasas Jun 3, 2016
cb63f64
doc: add `added:` information for os
bengl May 6, 2016
057492c
doc: add `added:` information for path
julianduque May 26, 2016
0c25aa8
doc: add `added:` information for punycode
firedfox May 17, 2016
9899298
doc: add `added:` information for querystring
bengl May 5, 2016
535c1c9
doc: add `added:` information for readline
julianduque May 26, 2016
315548b
doc: add `added:` information for repl
addaleax Jun 10, 2016
4717176
doc: add `added:` info for `string_decoder`
Trott May 13, 2016
e6790f0
doc: add `added:` in for `tty`
Trott May 16, 2016
7600a54
doc: add `added:` information for url
bengl May 5, 2016
02af985
doc: add `added:` information for v8
Trott May 11, 2016
2f0499b
doc: add `added:` information for vm
addaleax May 27, 2016
0fcaf48
doc: add `added:` information for zlib
addaleax May 18, 2016
8bbeaa4
doc: add `added:` information for timers
addaleax Jun 30, 2016
efed560
doc: adds 'close' events to fs.ReadStream and fs.WriteStream
May 1, 2016
9c0694c
doc: add `added:` information for fs
addaleax May 12, 2016
10e1bc8
doc: correct `added:` information for fs.access
richardlau Jun 14, 2016
bb18032
doc: add `added:` information for tls
italoacasas May 27, 2016
d0ec6e8
doc: add `added:` information for process
bengl May 5, 2016
21b1285
doc: remove superfluos backticks in process.md
addaleax Jul 12, 2016
3c300c7
doc: add information for IncomingMessage.destroy()
Trott Jun 8, 2016
dfbd2cf
doc: add `added:` information for http
addaleax Jun 23, 2016
b9bf60c
doc: buffers are not sent over IPC with a socket
Jul 12, 2016
7b05532
doc: add `added:` information for buffer
addaleax May 1, 2016
83a03df
tools: add mock-y js-yaml dependency to doctool
addaleax May 1, 2016
f0f990a
tools: parse documentation metadata
tflanagan Nov 14, 2015
6a65939
test,tools: test yaml parsing of doctool
addaleax Apr 30, 2016
7f3f604
tools: allow multiple added: version entries
addaleax Apr 30, 2016
96922ec
tools: update marked dependency
firedfox Apr 25, 2016
0cc38cc
tools: lint for object literal spacing
Trott May 5, 2016
5069387
test: build addons with V8_DEPRECATION_WARNINGS=1
bnoordhuis May 9, 2016
6237508
doc: fix deprecation warnings in addon examples
bnoordhuis May 9, 2016
d34fa13
build,test: fix build-addons dependency chain
bnoordhuis May 9, 2016
7304b0f
tools: fix tools/doc/addon-verify.js regression
addaleax May 9, 2016
173f5ae
build: add Make `doc-only` target
jmm Nov 18, 2015
25be5aa
tools: fix regression in doctool
May 10, 2016
b260008
test: refactor doctool tests
Trott May 12, 2016
c7d18c9
tools: restore change of signatures to opts hashes
jmm May 10, 2016
1c90f28
tools: make sure doctool anchors respect includes
addaleax May 23, 2016
78c9346
tools,doc: add example usage for REPLACEME tag
addaleax May 19, 2016
ff005fa
build: add REPLACEME tag for version info in docs
bnoordhuis May 13, 2016
fd8302f
test: skip doctool tests when js-yaml is missing
addaleax Jun 8, 2016
d373ba1
doc: make doc-only -> fallback to user binary
eljefedelrodeodeljefe May 20, 2016
a47fe01
build: add --enable-d8 configure option
bnoordhuis Jul 5, 2016
d0587cc
crypto: allow GCM ciphers to have longer IV length
mwain Apr 25, 2016
2b79221
src: clean up string_search
mscdex Jul 12, 2016
1a7dab5
deps: upgrade npm in LTS to 2.15.9
zkat Jul 12, 2016
6fb9c1d
test: use random ports where possible
mscdex May 29, 2016
3b0f1ff
build: update build-addons when node-gyp changes
lance May 16, 2016
63d94ee
benchmark: fix child-process-exec-stdout on win
bzoz May 31, 2016
7a38d2a
test: add --repeat option to tools/test.py
mhdawson May 11, 2016
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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ rules:
comma-spacing: 2
eol-last: 2
indent: [2, 2, {SwitchCase: 1}]
key-spacing: [2, {mode: "minimum"}]
keyword-spacing: 2
max-len: [2, 80, 2]
new-parens: 2
Expand Down
20 changes: 16 additions & 4 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,20 @@ $ make test-npm

To build the documentation:

This will build Node.js first (if necessary) and then use it to build the docs:

```text
$ make doc
```

If you have an existing Node.js you can build just the docs with:

```text
$ NODE=node make doc-only
```

(Where `node` is the path to your executable.)

To read the documentation:

```text
Expand All @@ -89,8 +99,10 @@ $ node -e "console.log('Hello from Node.js ' + process.version)"
Prerequisites:

* [Python 2.6 or 2.7](https://www.python.org/downloads/)
* Visual Studio 2013 / 2015, all editions including the Community edition, or
* Visual Studio Express 2013 / 2015 for Desktop
* One of:
* [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)
* [Visual Studio](https://www.visualstudio.com/) 2013 / 2015, all editions including the Community edition
* [Visual Studio](https://www.visualstudio.com/) Express 2013 / 2015 for Desktop
* Basic Unix tools required for some tests,
[Git for Windows](http://git-scm.com/download/win) includes Git Bash
and tools which can be included in the global `PATH`.
Expand All @@ -107,8 +119,8 @@ To run the tests:

To test if Node.js was built correctly:

```
$ node -e "console.log('Hello from Node.js ' + process.version)"
```text
> Release\node -e "console.log('Hello from Node.js', process.version)"
```

### Android / Android-based devices (e.g., Firefox OS)
Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
all.
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that some individuals and cultures consider the casual use of
profanity offensive and off-putting.
profanity and sexualized language offensive and off-putting.
* Respect that people have differences of opinion and that every
design or implementation choice carries a trade-off and numerous
costs. There is seldom a right answer.
Expand Down
16 changes: 13 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ and built upon.
#### Respect the stability index

The rules for the master branch are less strict; consult the
[stability index](./doc/api/documentation.markdown#stability-index) for details.
[stability index](./doc/api/documentation.md#stability-index) for details.

In a nutshell, modules are at varying levels of API stability. Bug fixes are
always welcome but API or behavioral changes to modules at stability level 3
Expand Down Expand Up @@ -120,6 +120,12 @@ run `git shortlog` or `git log --oneline`.
Check the output of `git log --oneline files_that_you_changed` to find out
what subsystem (or subsystems) your changes touch.

If your patch fixes an open issue, you can add a reference to it at the end
of the log. Use the `Fixes:` prefix and the full issue URL. For example:

```
Fixes: https://github.com/nodejs/node/issues/1337
```

### Step 4: Rebase

Expand All @@ -134,8 +140,9 @@ $ git rebase upstream/master
### Step 5: Test

Bug fixes and features **should come with tests**. Add your tests in the
test/parallel/ directory. Look at other tests to see how they should be
structured (license boilerplate, common includes, etc.).
`test/parallel/` directory. For guidance on how to write a test for the Node.js
project, see this [guide](./doc/guides/writing_tests.md). Looking at other tests
to see how they should be structured can also help.

```text
$ ./configure && make -j8 test
Expand All @@ -144,6 +151,9 @@ $ ./configure && make -j8 test
Make sure the linter is happy and that all tests pass. Please, do not submit
patches that fail either check.

Running `make test` will run the linter as well unless one or more tests fail.
If you want to run the linter without running tests, use `make lint`.

If you are updating tests and just want to run a single test to check it, you
can use this syntax to run it exactly as the test harness would:

Expand Down
2 changes: 1 addition & 1 deletion GOVERNANCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ responsibility for the change. In the case of pull requests proposed
by an existing Collaborator, an additional Collaborator is required
for sign-off. Consensus should be sought if additional Collaborators
participate and there is disagreement around a particular
modification. See _Consensus Seeking Process_ below for further detail
modification. See [Consensus Seeking Process](#consensus-seeking-process) below for further detail
on the consensus model used for governance.

Collaborators may opt to elevate significant or controversial
Expand Down
137 changes: 114 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,29 @@ STAGINGSERVER ?= node-www

OSTYPE := $(shell uname -s | tr '[A-Z]' '[a-z]')

ifdef QUICKCHECK
QUICKCHECK_ARG := --quickcheck
endif

ifdef ENABLE_V8_TAP
TAP_V8 := --junitout $(PWD)/v8-tap.xml
TAP_V8_INTL := --junitout $(PWD)/v8-intl-tap.xml
TAP_V8_BENCHMARKS := --junitout $(PWD)/v8-benchmarks-tap.xml
endif

ifdef DISABLE_V8_I18N
V8_TEST_NO_I18N := --noi18n
V8_BUILD_OPTIONS += i18nsupport=off
endif

BUILDTYPE_LOWER := $(shell echo $(BUILDTYPE) | tr '[A-Z]' '[a-z]')

# Determine EXEEXT
EXEEXT := $(shell $(PYTHON) -c \
"import sys; print('.exe' if sys.platform == 'win32' else '')")

NODE ?= ./node$(EXEEXT)
NODE_EXE = node$(EXEEXT)
NODE ?= ./$(NODE_EXE)
NODE_G_EXE = node_g$(EXEEXT)

# Flags for packaging.
Expand Down Expand Up @@ -81,14 +98,20 @@ distclean:
-rm -rf deps/icu
-rm -rf deps/icu4c*.tgz deps/icu4c*.zip deps/icu-tmp
-rm -f $(BINARYTAR).* $(TARBALL).*
-rm -rf deps/v8/testing/gmock
-rm -rf deps/v8/testing/gtest

check: test

cctest: all
@out/$(BUILDTYPE)/$@

v8:
tools/make-v8.sh v8
$(MAKE) -C deps/v8 $(V8_ARCH).$(BUILDTYPE_LOWER) $(V8_BUILD_OPTIONS)

test: | cctest # Depends on 'all'.
$(PYTHON) tools/test.py --mode=release doctool message parallel sequential -J
$(PYTHON) tools/test.py --mode=release doctool message pseudo-tty parallel sequential -J
$(MAKE) jslint
$(MAKE) cpplint

Expand All @@ -100,25 +123,30 @@ test-valgrind: all

test/gc/node_modules/weak/build/Release/weakref.node: $(NODE_EXE)
$(NODE) deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
--python="$(PYTHON)" \
--directory="$(shell pwd)/test/gc/node_modules/weak" \
--nodedir="$(shell pwd)"

# Implicitly depends on $(NODE_EXE), see the build-addons rule for rationale.
test/addons/.docbuildstamp: doc/api/addons.markdown
test/addons/.docbuildstamp: tools/doc/addon-verify.js doc/api/addons.md
$(RM) -r test/addons/??_*/
$(NODE) tools/doc/addon-verify.js
$(NODE) $<
touch $@

ADDONS_BINDING_GYPS := \
$(filter-out test/addons/??_*/binding.gyp, \
$(wildcard test/addons/*/binding.gyp))

# Implicitly depends on $(NODE_EXE), see the build-addons rule for rationale.
test/addons/.buildstamp: $(ADDONS_BINDING_GYPS) | test/addons/.docbuildstamp
# Depends on node-gyp package.json so that build-addons is (re)executed when
# node-gyp is updated as part of an npm update.
test/addons/.buildstamp: deps/npm/node_modules/node-gyp/package.json \
$(ADDONS_BINDING_GYPS) test/addons/.docbuildstamp
# Cannot use $(wildcard test/addons/*/) here, it's evaluated before
# embedded addons have been generated from the documentation.
for dirname in test/addons/*/; do \
$(NODE) deps/npm/node_modules/node-gyp/bin/node-gyp rebuild \
--python="$(PYTHON)" \
--directory="$$PWD/$$dirname" \
--nodedir="$$PWD"; \
done
Expand All @@ -129,7 +157,7 @@ test/addons/.buildstamp: $(ADDONS_BINDING_GYPS) | test/addons/.docbuildstamp
# if the subprocess touched anything so it pessimistically assumes that
# .buildstamp and .docbuildstamp are out of date and need a rebuild.
# Just goes to show that recursive make really is harmful...
# TODO(bnoordhuis) Force rebuild after gyp or node-gyp update.
# TODO(bnoordhuis) Force rebuild after gyp update.
build-addons: $(NODE_EXE) test/addons/.buildstamp

test-gc: all test/gc/node_modules/weak/build/Release/weakref.node
Expand All @@ -143,9 +171,24 @@ test-all: test-build test/gc/node_modules/weak/build/Release/weakref.node
test-all-valgrind: test-build
$(PYTHON) tools/test.py --mode=debug,release --valgrind

CI_NATIVE_SUITES := addons
CI_JS_SUITES := doctool message parallel pseudo-tty sequential

# Build and test addons without building anything else
test-ci-native: | test/addons/.buildstamp
$(PYTHON) tools/test.py -p tap --logfile test.tap \
--mode=release --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) $(CI_NATIVE_SUITES)

# This target should not use a native compiler at all
test-ci-js:
$(PYTHON) tools/test.py -p tap --logfile test.tap \
--mode=release --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) $(CI_JS_SUITES)

test-ci: | build-addons
$(PYTHON) tools/test.py -p tap --logfile test.tap --mode=release --flaky-tests=$(FLAKY_TESTS) \
$(TEST_CI_ARGS) addons doctool message parallel sequential
$(TEST_CI_ARGS) $(CI_NATIVE_SUITES) $(CI_JS_SUITES)

test-release: test-build
$(PYTHON) tools/test.py --mode=release
Expand Down Expand Up @@ -187,15 +230,41 @@ test-timers:
test-timers-clean:
$(MAKE) --directory=tools clean

apidoc_sources = $(wildcard doc/api/*.markdown)
apidocs = $(addprefix out/,$(apidoc_sources:.markdown=.html)) \
$(addprefix out/,$(apidoc_sources:.markdown=.json))
test-v8: v8
# note: performs full test unless QUICKCHECK is specified
deps/v8/tools/run-tests.py --arch=$(V8_ARCH) \
--mode=$(BUILDTYPE_LOWER) $(V8_TEST_NO_I18N) $(QUICKCHECK_ARG) \
--no-presubmit \
--shell-dir=$(PWD)/deps/v8/out/$(V8_ARCH).$(BUILDTYPE_LOWER) \
$(TAP_V8)

test-v8-intl: v8
# note: performs full test unless QUICKCHECK is specified
deps/v8/tools/run-tests.py --arch=$(V8_ARCH) \
--mode=$(BUILDTYPE_LOWER) --no-presubmit $(QUICKCHECK_ARG) \
--shell-dir=deps/v8/out/$(V8_ARCH).$(BUILDTYPE_LOWER) intl \
$(TAP_V8_INTL)

test-v8-benchmarks: v8
deps/v8/tools/run-tests.py --arch=$(V8_ARCH) --mode=$(BUILDTYPE_LOWER) \
--download-data $(QUICKCHECK_ARG) --no-presubmit \
--shell-dir=deps/v8/out/$(V8_ARCH).$(BUILDTYPE_LOWER) benchmarks \
$(TAP_V8_BENCHMARKS)

test-v8-all: test-v8 test-v8-intl test-v8-benchmarks
# runs all v8 tests

apidoc_sources = $(wildcard doc/api/*.md)
apidocs = $(addprefix out/,$(apidoc_sources:.md=.html)) \
$(addprefix out/,$(apidoc_sources:.md=.json))

apidoc_dirs = out/doc out/doc/api/ out/doc/api/assets

apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))

doc: $(apidoc_dirs) $(apiassets) $(apidocs) tools/doc/ $(NODE_EXE)
doc-only: $(apidoc_dirs) $(apiassets) $(apidocs) tools/doc/

doc: $(NODE_EXE) doc-only

$(apidoc_dirs):
mkdir -p $@
Expand All @@ -206,21 +275,27 @@ out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets/
out/doc/%: doc/%
cp -r $< $@

out/doc/api/%.json: doc/api/%.markdown $(NODE_EXE)
$(NODE) tools/doc/generate.js --format=json $< > $@
# check if ./node is actually set, else use user pre-installed binary
gen-json = tools/doc/generate.js --format=json $< > $@
out/doc/api/%.json: doc/api/%.md
[ -x $(NODE) ] && $(NODE) $(gen-json) || node $(gen-json)

out/doc/api/%.html: doc/api/%.markdown $(NODE_EXE)
$(NODE) tools/doc/generate.js --format=html --template=doc/template.html $< > $@
# check if ./node is actually set, else use user pre-installed binary
gen-html = tools/doc/generate.js --node-version=$(FULLVERSION) --format=html --template=doc/template.html $< > $@
out/doc/api/%.html: doc/api/%.md
[ -x $(NODE) ] && $(NODE) $(gen-html) || node $(gen-html)

docopen: out/doc/api/all.html
-google-chrome out/doc/api/all.html

docclean:
-rm -rf out/doc

run-ci:
build-ci:
$(PYTHON) ./configure $(CONFIG_FLAGS)
$(MAKE)

run-ci: build-ci
$(MAKE) test-ci

RAWVER=$(shell $(PYTHON) tools/getnodeversion.py)
Expand Down Expand Up @@ -313,11 +388,28 @@ else
ifeq ($(DESTCPU),ppc)
ARCH=ppc
else
ifeq ($(DESTCPU),s390)
ARCH=s390
else
ifeq ($(DESTCPU),s390x)
ARCH=s390x
else
ARCH=x86
endif
endif
endif
endif
endif
endif
endif

# node and v8 use different arch names (e.g. node 'x86' vs v8 'ia32').
# pass the proper v8 arch name to $V8_ARCH based on user-specified $DESTCPU.
ifeq ($(DESTCPU),x86)
V8_ARCH=ia32
else
V8_ARCH ?= $(DESTCPU)

endif

# enforce "x86" over "ia32" as the generally accepted way of referring to 32-bit intel
Expand All @@ -340,6 +432,10 @@ PACKAGEMAKER ?= /Developer/Applications/Utilities/PackageMaker.app/Contents/MacO
PKGDIR=out/dist-osx

release-only:
@if `grep -q REPLACEME doc/api/*.md`; then \
echo 'Please update Added: tags in the documentation first.' ; \
exit 1 ; \
fi
@if [ "$(shell git status --porcelain | egrep -v '^\?\? ')" = "" ]; then \
exit 0 ; \
else \
Expand Down Expand Up @@ -552,18 +648,12 @@ jslint:
tools/eslint-rules --rulesdir tools/eslint-rules

CPPLINT_EXCLUDE ?=
CPPLINT_EXCLUDE += src/node_lttng.cc
CPPLINT_EXCLUDE += src/node_root_certs.h
CPPLINT_EXCLUDE += src/node_lttng_tp.h
CPPLINT_EXCLUDE += src/node_win32_perfctr_provider.cc
CPPLINT_EXCLUDE += src/queue.h
CPPLINT_EXCLUDE += src/tree.h
CPPLINT_EXCLUDE += src/v8abbr.h
CPPLINT_EXCLUDE += $(wildcard test/addons/??_*/*.cc test/addons/??_*/*.h)

CPPLINT_FILES = $(filter-out $(CPPLINT_EXCLUDE), $(wildcard \
deps/debugger-agent/include/* \
deps/debugger-agent/src/* \
src/*.c \
src/*.cc \
src/*.h \
Expand All @@ -586,4 +676,5 @@ lint-ci: lint
blog blogclean tar binary release-only bench-http-simple bench-idle \
bench-all bench bench-misc bench-array bench-buffer bench-net \
bench-http bench-fs bench-tls cctest run-ci lint-ci bench-ci \
$(TARBALL)-headers
test-v8 test-v8-intl test-v8-benchmarks test-v8-all v8 \
$(TARBALL)-headers test-ci test-ci-native test-ci-js build-ci doc-only
Loading