Commit Graph
4100 Commits
Author SHA1 Message Date
Ben Noordhuis da12b10005 test: work around debugger not killing inferior
On UNIX platforms, the debugger doesn't reliably kill the inferior when
killed by a signal.  Work around that by spawning the debugger in its
own process group and killing the process group instead of just the
debugger process.

This is a hack to get the continuous integration back to green, it
doesn't address the underlying issue, which is that the debugger
shouldn't leave stray processes behind.

Fixes: https://github.com/nodejs/node/issues/7034
PR-URL: https://github.com/nodejs/node/pull/7037
Refs: https://github.com/nodejs/node/pull/3470
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-28 19:07:41 +02:00
Santiago Gimeno 0c29436250 cluster: reset handle index on close
It allows reopening a server after it has been closed.

Fixes: https://github.com/nodejs/node/issues/6693
PR-URL: https://github.com/nodejs/node/pull/6981
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ron Korving <ron@ronkorving.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-27 18:43:09 +02:00
cjihrig a9492f503f test: verify cluster worker exit
test-cluster-disconnect-handles already includes logic that
tries to cleanup any child processes when the test fails. This
commit adds additional checks to verify that the child exited
normally, and fails the test if that is not the case.

Refs: https://github.com/nodejs/node/issues/6988
PR-URL: https://github.com/nodejs/node/pull/6993
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2016-05-27 09:14:43 -04:00
Alexis Campailla 6e2ae8aeee test,win: skip addons/load-long-path on WOW64
This test fails on WOW64 because of a bug in the OS, and there is
no acceptable workaround.

Ref: https://github.com/nodejs/node/issues/3667

PR-URL: https://github.com/nodejs/node/pull/6675
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: cjihrig - Colin Ihrig <cjihrig@gmail.com>
2016-05-27 12:05:49 +02:00
Matteo Collina c14e98b476 dgram: copy the list in send
This commit fix a possible crash situation in dgram send().
A crash is possible if an array is passed, and then altered after the
send call, as the call to libuv is wrapped in process.nextTick().
It also avoid sending an empty array to libuv by allocating an empty
buffer. It also does some cleanup inside send() to increase readability.

It removes test flakyness by use common.mustCall and
common.platformTimeout. Fixes situations were some events were not
asserted to be emitted.

Fixes: https://github.com/nodejs/node/issues/6616
PR-URL: https://github.com/nodejs/node/pull/6804
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-26 11:28:45 +02:00
Michaël Zasso f9ea52e5eb test: add regression test for Proxy as vm context
A Proxy context should not hide built-in global objects.
Ref: https://github.com/nodejs/node/issues/6158

PR-URL: https://github.com/nodejs/node/pull/6967
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-26 09:48:23 +02:00
Anna Henningsen b140bad391 tools: make sure doctool anchors respect includes
Previously, output files which were created using includes (notably,
the single-page all.html) had basically broken internal links all
over the place because references like `errors.html#errors_class_error`
are being used, yet `id` attributes were generated that looked like
`all_class_error`.

This PR adds generation of comments from the include preprocessor
that indicate from which file the current markdown bits come and
lets the HTML output generation take advantage of that so that more
appropriate `id` attributes can be generated.

PR-URL: https://github.com/nodejs/node/pull/6943
Reviewed-By: Robert Jefe Lindstaedt <robert.lindstaedt@gmail.com>
Reviewed-By: Daniel Wang <wangyang0123@gmail.com>
2016-05-26 00:49:34 +02:00
Ben Noordhuis 18fb4f9a91 debugger: propagate --debug-port= to debuggee
Before this commit `node --debug-port=1234 debug t.js` ignored the
--debug-port= argument, binding to the default port 5858 instead,
making it impossible to debug more than one process on the same
machine that way.

This commit also reduces the number of places where the default port
is hard-coded by one.

Fixes: https://github.com/nodejs/node/issues/3345
PR-URL: https://github.com/nodejs/node/pull/3470
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-25 23:38:10 +02:00
Jesse McCarthy c1ffb9ff9b tools: restore change of signatures to opts hashes
These signatures were originally converted to opts hashes in #3888. That
change was misinterpreted as the intrinsic cause of a test failure and
reverted in #6680.

PR-URL: https://github.com/nodejs/node/pull/6690
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Robert Jefe Lindstaedt <robert.lindstaedt@gmail.com>
2016-05-25 22:44:57 +02:00
Fedor Indutny 9cac8c894e tls: catch certCbDone exceptions
Catch and emit `certCbDone` exceptions instead of throwing them as
`uncaughtException` and crashing the whole process.

Fix: https://github.com/nodejs/node/issues/6822
PR-URL: https://github.com/nodejs/node/pull/6887
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-25 16:07:30 -04:00
Rich Trott c9a5990a76 child_process: measure buffer length in bytes
This change fixes a known issue where `maxBuffer` limits by characters
rather than bytes. Benchmark added to confirm no performance regression
occurs with this change.

PR-URL: https://github.com/nodejs/node/pull/6764
Fixes: https://github.com/nodejs/node/issues/1901
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-05-25 10:57:59 -07:00
cjihrig 33c7b45378 cluster: guard against undefined message handlers
cluster's internal message handling includes a cache of callback
functions. Once the message for that callback is received, it is
removed from the cache. If, for any reason, the same message ID
is processed twice, the callback will be missing from the cache
and cluster will try to call undefined as a function. This commit
guards against this scenario.

Refs: https://github.com/nodejs/node/issues/6561
PR-URL: https://github.com/nodejs/node/pull/6902
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2016-05-25 11:58:02 -04:00
Ben Noordhuis eff96d32dc src: add include guards to internal headers
For consistency with the newly added src/base64.h header, check that
NODE_WANT_INTERNALS is defined and set in internal headers.

PR-URL: https://github.com/nodejs/node/pull/6948
Refs: https://github.com/nodejs/node/pull/6910
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-05-25 09:54:24 +02:00
Rich Trott ff00a48169 test: improve debug-break-on-uncaught reliability
Running the test through CI reveals unreliability due to a race
condition. These changes mitigate the race condition, but do not
eliminate it.

PR-URL: https://github.com/nodejs/node/pull/6793
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com>
2016-05-24 13:45:09 -07:00
Trevor Norris c0e6c668e6 src: no abort from getter if object isn't wrapped
v8::Object::GetAlignedPointerFromInternalField() returns a random value
if Wrap() hasn't been run on the object handle. Causing v8 to abort if
certain getters are accessed. It's possible to access these getters and
functions during class construction through the AsyncWrap init()
callback, and also possible in a subset of those scenarios while running
the persistent handle visitor.

Mitigate this issue by manually setting the internal aligned pointer
field to nullptr in the BaseObject constructor and add necessary logic
to return appropriate values when nullptr is encountered.

PR-URL: https://github.com/nodejs/node/pull/6184
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-24 14:40:22 -06:00
Trevor Norris 43b5215083 tls_wrap: do not abort on new TLSWrap()
Though the TLSWrap constructor is only called via TLSWrap::Wrap() (i.e.
tls_wrap.wrap()) internally, it is still exposed to JS. Don't allow the
application to abort by inspecting the instance before it has been
wrap'd by another handle.

PR-URL: https://github.com/nodejs/node/pull/6184
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-24 14:39:04 -06:00
Santiago Gimeno f0a07d956e test: test cluster worker disconnection on error
This test checks that ownerless cluster worker handles are closed
correctly on disconnection.

Fixes: https://github.com/nodejs/node/issues/6561
PR-URL: https://github.com/nodejs/node/pull/6909
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-24 12:20:57 -04:00
Santiago Gimeno dd21bd9f01 test: verify IPC messages are emitted on next tick
The test in this commit runs correctly if IPC messages are
properly consumed and emitted. Otherwise, the test times out.

Fixes: https://github.com/nodejs/node/issues/6561
PR-URL: https://github.com/nodejs/node/pull/6909
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-24 12:20:57 -04:00
Anna Henningsen dab09877b0 module: don't cache uninitialized builtins
Don't cache the exported values of fully uninitialized builtins.
This works by adding an additional `loading` flag that is only
active during initial loading of an internal module and checking
that either the module is fully loaded or is in that state before
using its cached value.

This has the effect that builtins modules which could not be loaded
(e.g. because compilation failed due to missing stack space) can be
loaded at a later point.

Fixes: https://github.com/nodejs/node/issues/6899
PR-URL: https://github.com/nodejs/node/pull/6907
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-24 17:03:22 +02:00
Anna Henningsen 4bd410bbbe vm: don't abort process when stack space runs out
Make less assumptions about what objects will be available when
vm context creation or error message printing fail because V8
runs out of JS stack space.

Ref: https://github.com/nodejs/node/issues/6899
PR-URL: https://github.com/nodejs/node/pull/6907
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-24 17:03:02 +02:00
cjihrig 6bad85c4fd test: refactor spawnSync() cwd test
This commit refactors test-child-process-spawnsync.js to use
the reusable common.spawnSyncPwd().

PR-URL: https://github.com/nodejs/node/pull/6939
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-24 09:59:11 -04:00
cjihrig dc76afffb6 child_process: allow buffer encoding in spawnSync
When the 'buffer' encoding is passed to spawnSync(), an exception
is thrown in Buffer's toString() method because 'buffer' is not
a valid encoding there. This commit special cases the 'buffer'
encoding.

Fixes: https://github.com/nodejs/node/issues/6930
PR-URL: https://github.com/nodejs/node/pull/6939
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-24 09:59:11 -04:00
Justin Sprigg 05e2acb428 buffer: fix single digit hex string handling
Fixes single digit hex strings not raising TypeError on Buffer creation.

Fixes: https://github.com/nodejs/node/issues/6770
PR-URL: https://github.com/nodejs/node/pull/6775
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-23 15:37:20 +02:00
Ben Noordhuis ee8e7cd25d util: pretty-print SIMD types
Before:

    Bool32x4 {}
    Float32x4 {}
    Int32x4 {}
    // etc.

After:

    Bool32x4 [ false, false, false, false ]
    Float32x4 [ NaN, NaN, NaN, NaN ]
    Int32x4 [ 0, 0, 0, 0 ]
    // etc.

PR-URL: https://github.com/nodejs/node/pull/6917
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Jefe Lindstaedt <robert.lindstaedt@gmail.com>
2016-05-23 12:16:41 +02:00
Sakthipriyan Vairamani dcbf246b35 fs: mkdtemp shouldn't crash if no callback passed
As it is, `fs.mkdtemp` crashes with a C++ assertion if the callback
function is not passed. This patch uses `maybeCallback` to create one,
if no callback function is passed.

PR-URL: https://github.com/nodejs/node/pull/6828
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-20 08:28:16 -07:00
Rich Trott 37a5a1c497 test: refactor to eliminate __defineGetter__
In preparation for a lint rule to flag `__defineGetter__`, refactor the
one remaining instance in the code base.

PR-URL: https://github.com/nodejs/node/pull/6774
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-19 22:07:50 -07:00
Rich Trott 395cc885f4 test: refactor test-tls-reuse-host-from-socket
Replace booleans with `common.mustCall()`, migrate from `var` to
`const`, and apply minor formatting changes.

PR-URL: https://github.com/nodejs/node/pull/6756
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-19 13:54:55 -07:00
Dirceu Pereira Tiegs fe77de196c http: use localAddress instead of path
Fix `options` usage on `lib/_http_agent.js` for the Legacy API.

Fixes: https://github.com/nodejs/node/issues/5051
PR-URL: https://github.com/nodejs/node/pull/5190
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-19 12:01:57 +02:00
Rich Trott f94ebb00d4 dgram,test: add addMembership/dropMembership tests
The only tests for `addMembership()` and `dropMembership()` (from the
`dgram` module) were in `test/internet` which means they almost never
get run. This adds checks in `test/parallel`.

PR-URL: https://github.com/nodejs/node/pull/6753
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-18 22:54:07 -07:00
Rich Trott 03505052a1 test: fix test-debug-port-cluster flakiness
Remove port increment by `1337` which appears to sometimes result in a
port that is already in use. There is no reason not to use
`common.PORT`.

PR-URL: https://github.com/nodejs/node/pull/6769
Fixes: https://github.com/nodejs/node/issues/6754
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-18 09:23:56 -07:00
Rich Trott 2c926dc6eb test: add logging for test-debug-port-cluster
The test is currently flaky and CI provides no real information because
the test times out rather than failing on an assertion. Add logging to
gather more information about the failure.

Refs: https://github.com/nodejs/node/issues/6754
PR-URL: https://github.com/nodejs/node/pull/6769
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-18 09:23:27 -07:00
Santiago Gimeno 89460f1f4d test: fix flaky test-stdout-close-catch
Make sure that `catch-stdout-error` has written data before the
destination process exits.

Fixes: https://github.com/nodejs/node/issues/6791
PR-URL: https://github.com/nodejs/node/pull/6808
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
2016-05-18 10:20:24 +02:00
Brian White 27549f64ce test: add more path.basename() tests
PR-URL: https://github.com/nodejs/node/pull/6590
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-05-18 02:12:47 -04:00
Brian White 7d404122d4 test: remove duplicate path tests
The TypeError checks are already done later on in the test file
for all path functions.

PR-URL: https://github.com/nodejs/node/pull/6590
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-05-18 02:12:42 -04:00
Brian White dfaa9c9055 path: fix basename() regressions
This commit fixes a regression in basename() for the case when a
supplied extension name completely matches the resulting basename.

Fixes: https://github.com/nodejs/node/issues/6587
PR-URL: https://github.com/nodejs/node/pull/6590
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-05-18 02:12:28 -04:00
Myles Borins 56ae651c80 test: robust handling of env for npm-test-install
Currently we are overwriting the entire env object of the child-process
spawned in `npm-test-install`. This commit alternatively clones the
`process.env` object and modifies it with the neccessary changes before
passing it the the spawned process.

Fixes: https://github.com/nodejs/node/issues/6736

PR-URL: https://github.com/nodejs/node/pull/6797
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-17 18:41:56 -07:00
Devon Rifkin 149bea0fc4 test: cluster-setup-master online workers check
Previously a `checks.workers` boolean was conditionally set, but never
checked. Additionally, it was never actually set because
`cluster.onlineWorkers` is always undefined.

PR-URL: https://github.com/nodejs/node/pull/6535
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-18 00:15:28 +02:00
suryagh 377eb22bf5 test: added tests for https-agent-getname
PR-URL: https://github.com/nodejs/node/pull/6762
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-05-17 15:00:04 -07:00
Anna Henningsen b53473f0e7 zlib: remove _closed in source
This is purely cleanup and carries no visible behavioural changes.
Up to now, `this._closed` was used in zlib.js as a
synonym of `!this._handle`. This change makes this connection
explicit and removes the `_closed` property from zlib streams,
as the previous duplication has been the cause of subtle errors
like https://github.com/nodejs/node/issues/6034.

This also makes zlib errors lead to an explicit `_close()` call
rather than waiting for garbage collection to clean up the handle,
thus returning memory resources earlier in the case of an error.

Add a getter for `_closed` so that the property remains accessible
by legacy code.

PR-URL: https://github.com/nodejs/node/pull/6574
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-17 23:28:06 +02:00
James M Snell dcccbfdc79 src: refactor require('constants')
The require('constants') module is currently undocumented and mashes
together unrelated constants. This refactors the require('constants')
in favor of distinct os.constants, fs.constants, and crypto.constants
that are specific to the modules for which they are relevant. The
next step is to document those within the specific modules.

PR-URL: https://github.com/nodejs/node/pull/6534
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Robert Lindstaedt <robert.lindstaedt@gmail.com>
2016-05-17 11:05:18 -07:00
Rich Trott 78520fa472 test,dgram: add tests for setBroadcast()
The only tests for `setBroadcast()` (from the `dgram` module) were in
`test/internet` which means they almost never get run. This adds a
minimal test that can check JS-land functionality in `test/parallel`.

I also expanded a comment and did some minor formatting on the existing
`test/internet` test. If there were an easy and reliable way to check
for the BROADCAST flag on an interface, it's possible that a version of
the test could be moved to `test/sequential` or `test/parallel` once it
was modified to only use internal networks.

PR-URL: https://github.com/nodejs/node/pull/6750
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-16 14:52:08 -07:00
Rich Trott 5a5b74aad6 test: move test-debugger-debug-brk to sequential
Move test from `test/debugger` to `test/sequential` so that it is
exercised by CI and `make test`.

PR-URL: https://github.com/nodejs/node/pull/6731
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-16 13:38:31 -07:00
Rumkin 9c33e0ebe7 util: fix invalid date output with util.inspect
Prevent util.inspect of throwing on date object with invalid date value.
It changed to output result of toString method call.

PR-URL: https://github.com/nodejs/node/pull/6504
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-16 11:17:25 +02:00
Rich Trott d73e189c26 tools,test: make argument linting more stringent
The custom linting rule for argument alignment in multi-line function
calls previously ignored template strings in an effort to avoid false
positives. This isn't really necessary. Enforce for template strings and
adjust whitespace in three tests to abide. (Insert "The test abides"
joke of your choosing here.)

PR-URL: https://github.com/nodejs/node/pull/6720
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-15 18:22:50 -07:00
Rich Trott 9bc72ea0de test: refactor doctool tests
Adjust style in doctool tests to conform with predominant style of the
rest of the project. The biggest changes are:

* Replace string concatenation with `path.join()`
* Remove unnecessary quotes from property names

PR-URL: https://github.com/nodejs/node/pull/6719
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-05-15 18:11:43 -07:00
Rich Trott 1a0c80a1da test: remove common.getServiceName()
Replace lightly-used services file parsing in favor of
confirming one of a small number of allowable values in service name
lookup tests.

In https://github.com/nodejs/node-v0.x-archive/issues/8047, it was
decided that this sort of service file parsing was superior to
hardcoding acceptable values, but I'm not convinced:

* No guarantee that the host uses /etc/services before, e.g., nscd.
* Increases complexity of tests without guaranteeing robustness.

I think that simply checking against a small set of expected values
may be a better solution. Ideally, there would also be a unit test that
used a test double for the appropriate `cares` function and confirms
that it is called with the correct parameters, but now we're getting way
ahead of ourselves.

PR-URL: https://github.com/nodejs/node/pull/6709
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-13 22:33:56 -07:00
Rich Trott 517d1da47c test: favor strictEqual() in addon test
Replace `assert.equal()` with `assert.strictEqual()` throughout
`addon/make-callback-recurse/test.js`.

PR-URL: https://github.com/nodejs/node/pull/6704
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-13 19:27:15 -07:00
Rich Trott b5a75baa5b test: fix flaky test-preload
Use `close` event rather than `exit` event to make sure all output has
been received before checking assertions.

PR-URL: https://github.com/nodejs/node/pull/6728
Fixes: https://github.com/nodejs/node/issues/6722
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2016-05-13 16:29:36 -07:00
Anna Henningsen a4564f3649 util: adhere to noDeprecation set at runtime
Until now, the docs stated that `process.noDeprecation` could be set
at runtime, but before any modules were loaded. That was not true,
because `lib/internal/util.js` was loaded during the process startup
process, so setting the flag at runtime was pointless.

Minimal test case:

    process.noDeprecation = true;
    process.EventEmitter;

This patch moves checking `process.noDeprecation` to the place where
it was actually used.

PR-URL: https://github.com/nodejs/node/pull/6683
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-05-13 21:33:42 +02:00
James M Snell 5d38d543cd src,module: add --preserve-symlinks command line flag
Add the `--preserve-symlinks` flag. This makes the changes added
in #5950 conditional. By default the old behavior is used. With
the flag set, symlinks are preserved, switching to the new
behavior. This should be considered to be a temporary solution
until we figure out how to solve the symlinked peer dependency
problem in a more general way that does not break everything
else.

Additional test cases are included.

PR-URL: https://github.com/nodejs/node/pull/6537
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-05-13 11:43:47 -07:00