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

v7.2.0 proposal #9745

Merged
merged 104 commits into from
Nov 22, 2016
Merged
Changes from 1 commit
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
45df0ee
v8: update make-v8.sh to use git
Nov 1, 2016
33bcd6f
deps: update V8 to 5.4.500.41
targos Nov 2, 2016
6b01bfa
gitignore: ignore all tap files
jbergstroem Oct 25, 2016
23584e4
gtest: output tap comments as yamlish
jbergstroem Oct 25, 2016
6a94ffb
test: output tap13 instead of almost-tap
jbergstroem Oct 12, 2016
f0d40e8
doc: fix link to cli.md in vm.md
danbev Nov 5, 2016
ee65b48
tls: fix leak of WriteWrap+TLSWrap combination
indutny Nov 12, 2016
3efb43c
build: Add option to compile for coverage reports
CurryKitten Oct 14, 2016
9491352
test: remove watchdog in test-debug-signal-cluster
Trott Nov 5, 2016
841a2c4
zlib: name every function Ref: #8913
solebox Oct 31, 2016
adcc5b1
zlib: fix linting recently-introduced lint error
Trott Nov 9, 2016
6f513e0
doc: add npm link to README
oscarmorrison Jul 27, 2016
f5442ec
lib,test: remove unneeded escaping of /
Trott Nov 6, 2016
ee76069
test: fix helper-debugger-repl.js
Trott Nov 6, 2016
2a96256
test: move timer-dependent test to sequential
Trott Nov 6, 2016
819a38d
benchmark: split timers benchmark and refactor
Trott Nov 7, 2016
dab3e45
test: refactor make-callback-recurse test
Trott Nov 7, 2016
342d8e0
test: refactor inspector-helper.js
Trott Nov 7, 2016
9647155
test: move tick-processor tests to own directory
Trott Nov 7, 2016
c07f648
doc: Fix inaccuracy in https.request docs
papandreou Nov 2, 2016
62478eb
doc: fix link to Event Loop page
timathon Nov 9, 2016
92f163e
doc: clarify the exit code part of writing_tests
Fishrock123 Nov 7, 2016
a412b9f
doc: grammar and structure revisions of wg doc
ryanmurakami Nov 6, 2016
31a34d7
doc: fix minor style issue in code examples
danbev Nov 10, 2016
549b6f2
doc: fix fs constants link
zzzzBov Nov 7, 2016
7488b00
doc: added types to path docs
imatveev Nov 8, 2016
77aded3
doc: add process api data types to documentation
imatveev Nov 7, 2016
d09a9f4
doc: remove Roadmap Working Group
williamkapke Nov 10, 2016
7c9e8cb
doc: fix the index order in pseudocode of modules
koh110 Nov 12, 2016
8c859d5
test: refactor test-tls-inception
Trott Nov 10, 2016
dae3d3e
test: refactor test-next-tick-error-spin
Trott Nov 10, 2016
64dec14
doc: fix e.g., to e.g. in doc/http.md
ikasumiwt Nov 12, 2016
e7eb9cc
test: improve test-stream2-objects.js
kt3k Nov 12, 2016
4ae4e00
doc: fix typo about cluster doc, (eg. -> e.g.)
YutamaKotaro Nov 12, 2016
58fc7a1
test: change from setTimeout to setImmediate
fossamagna Nov 12, 2016
92bd19e
doc: simplify process.memoryUsage() example code
watson Nov 12, 2016
d532a57
doc: consistent 'Returns:'
silverwind Nov 11, 2016
d83cb48
doc: fix typo e.g., => e.g.
dorako321 Nov 12, 2016
163397a
process: add `process.memoryUsage.external`
indutny Nov 12, 2016
f3db5e4
test: refactor test-zlib.js
Trott Nov 10, 2016
00a5490
test: increase coverage of process.emitWarning
Fishrock123 Nov 11, 2016
ccc6e75
test: ensure nextTick is not scheduled in exit
Fishrock123 Nov 11, 2016
65b6080
tools: copy run-valgrind.py to tools/
bnoordhuis Nov 8, 2016
887c76a
tools: fix run-valgrind.py script
bnoordhuis Nov 8, 2016
deabb5c
tools: make run-valgrind.py useful
bnoordhuis Nov 8, 2016
bff4e88
doc: fix a typo in the assert.md
vsemozhetbyt Nov 13, 2016
34c8b0b
module: check -e flag in debug break setup
kjin Oct 1, 2016
89216a4
doc: fix type of http.request's `agent` option
TimothyGu Nov 12, 2016
3014dfd
doc: wrap long lines in http.request
TimothyGu Nov 13, 2016
d5fa1d5
doc: clarify eventType in fs.watch
seishun Oct 27, 2016
3b4ec5f
test: check that `process.execPath` is a realpath
addaleax Oct 21, 2016
25a6f88
doc: improve process.emitWarning() example
mscdex Nov 13, 2016
d964eac
doc: remove redundant warning information
mscdex Nov 13, 2016
7af680e
doc: make comment indentation consistent
danbev Nov 8, 2016
9a0bcfc
fs: export `realpathCacheKey` from `internal/fs`
addaleax Sep 30, 2016
cc6901d
tools: improve docopen target in Makefile
thefourtheye Nov 3, 2016
875d1b9
test: add test case of PassThrough
kt3k Nov 12, 2016
474d4aa
doc: fix typo in doc/repl.md line: 6
utano320 Nov 12, 2016
51e24e7
test: use setImmediate() in test of stream2
mganeko Nov 12, 2016
4ddc238
doc: move TSC and CTC meeting minutes out of core repo
jasnell Nov 7, 2016
7420ce8
src: squelch unused function warnings in util.h
solebox Oct 16, 2016
a086566
doc: fix an SNI mistyped as SNS
sam-github Nov 17, 2016
f43e47a
doc: describe when a tls server emits 'close'
sam-github Nov 17, 2016
c18ca15
doc: fix tls "the the" typo
sam-github Nov 17, 2016
16819d2
doc: fix "either as either" typo
sam-github Nov 17, 2016
8bf42b4
doc: strip trailing whitespace
sam-github Nov 15, 2016
776d291
test: run tests even if os.cpus() fails
BethGriggs Nov 15, 2016
425a864
doc: add italoacasas to collaborators
Nov 18, 2016
a29be52
test: fix memory leaks in malloc cctests
bnoordhuis Nov 17, 2016
b258a70
doc: add return types and props types to OS module
imatveev Nov 16, 2016
c99fb1e
doc: remove invalid padding from privateEncrypt
JungMinu Nov 15, 2016
69ffe0c
doc: child_process .stdio accepts a String type
skovhus Nov 16, 2016
731a1fa
test: Use strictEqual in test-tls-writewrap-leak
ughitsaaron Nov 17, 2016
d62376c
doc: small improvements in readline code examples
vsemozhetbyt Nov 15, 2016
159799a
doc: improve description of urlObject.query
rahatarmanahmed Nov 15, 2016
6c63ab7
test: simplify test-http-client-unescaped-path
rvagg Nov 17, 2016
29bf871
tools: use better regexp for manpage references
addaleax Nov 16, 2016
39f0482
doc: remove backtick escaping for manpage refs
addaleax Nov 16, 2016
b070df8
doc: fix typo in BUILDING.md
kazu80 Nov 12, 2016
08a7e7b
crypto: return `this` in setAuthTag/setAAD
fanatid Nov 1, 2016
4517276
src: fix method name, output format
joshgav Nov 14, 2016
c4f33b4
src: extend `HeapStatistics` with new fields
gareth-ellis Sep 17, 2016
a220170
test: refactor test-async-wrap-*
Trott Nov 17, 2016
0083bf2
build: default to ppc64 on AIX
gibfahn Nov 16, 2016
7c1a2f5
test: add new.target add-on regression test
bnoordhuis Nov 18, 2016
19ca6cd
tools: disallow trailing whitespace for markdown
sam-github Nov 18, 2016
1520afd
deps: update V8 to 5.4.500.43
targos Nov 19, 2016
8030994
doc: fix some table problems in changelog.md
Fishrock123 Oct 19, 2016
bbd5853
doc: v6 is now LTS rather than Current
Fishrock123 Oct 19, 2016
8a9c45a
fs: Fix default params for fs.write(Sync)
papandreou Jul 23, 2016
3f45cc1
crypto: Use reference count to manage cert_store
AdamMajer Aug 30, 2016
bcdbf22
crypto: fix handling of root_cert_store.
agl Oct 30, 2016
af74db3
crypto: use SSL_get_servername.
agl Oct 28, 2016
ebc9c4b
doc: add missing link in changelog
evanlucas Nov 10, 2016
4098514
doc: fix typo in doc/tls.md
nanocloudx Nov 12, 2016
a83a286
test: add test for broken child process stdio
cjihrig Nov 9, 2016
30475be
src: use ABORT() macro instead of abort()
evanlucas Nov 15, 2016
786631c
deps: upgrade libuv to 1.10.1
cjihrig Nov 16, 2016
15af912
src: fix memory leak introduced in 34febfbf4
bnoordhuis Nov 14, 2016
1bd7936
dns: implement {ttl: true} for dns.resolve4()
bnoordhuis Oct 26, 2016
0a3e5cc
dns: implement {ttl: true} for dns.resolve6()
bnoordhuis Oct 26, 2016
fa98eec
doc: fix typo in assert code example
vsemozhetbyt Nov 20, 2016
02c2bf7
timers: use consistent checks for canceled timers
Fishrock123 Nov 18, 2016
c1aa949
2016-11-22, Version 7.2.0 (Current)
Fishrock123 Nov 22, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test: add test for broken child process stdio
This commit adds a test for the scenario where a child process is
spawned, but the stdio streams could not be created.

PR-URL: #9528
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
  • Loading branch information
cjihrig authored and Fishrock123 committed Nov 22, 2016
commit a83a28663172d140d4163fe880fadfc298dde1de
63 changes: 63 additions & 0 deletions test/parallel/test-child-process-bad-stdio.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
'use strict';
// Flags: --expose_internals
const common = require('../common');
const assert = require('assert');
const cp = require('child_process');

if (process.argv[2] === 'child') {
setTimeout(() => {}, common.platformTimeout(100));
return;
}

// Monkey patch spawn() to create a child process normally, but destroy the
// stdout and stderr streams. This replicates the conditions where the streams
// cannot be properly created.
const ChildProcess = require('internal/child_process').ChildProcess;
const original = ChildProcess.prototype.spawn;

ChildProcess.prototype.spawn = function() {
const err = original.apply(this, arguments);

this.stdout.destroy();
this.stderr.destroy();
this.stdout = null;
this.stderr = null;

return err;
};

function createChild(options, callback) {
const cmd = `${process.execPath} ${__filename} child`;

return cp.exec(cmd, options, common.mustCall(callback));
}

// Verify that normal execution of a child process is handled.
{
createChild({}, (err, stdout, stderr) => {
assert.strictEqual(err, null);
assert.strictEqual(stdout, '');
assert.strictEqual(stderr, '');
});
}

// Verify that execution with an error event is handled.
{
const error = new Error('foo');
const child = createChild({}, (err, stdout, stderr) => {
assert.strictEqual(err, error);
assert.strictEqual(stdout, '');
assert.strictEqual(stderr, '');
});

child.emit('error', error);
}

// Verify that execution with a killed process is handled.
{
createChild({ timeout: 1 }, (err, stdout, stderr) => {
assert.strictEqual(err.killed, true);
assert.strictEqual(stdout, '');
assert.strictEqual(stderr, '');
});
}