Skip to content
This repository was archived by the owner on Oct 15, 2020. It is now read-only.

Commit f7e8fc6

Browse files
committed
meta: merge node/master into node-chakracore/master
Merge ad94be8 as of 2018-02-01 This commit was automatically generated. For any problems, please contact jackhorton Reviewed-By: Jimmy Thomson <jithomso@microsoft.com> Conflicts: README.md common.gypi lib/assert.js node.gypi test/parallel/test-child-process-fork-exec-path.js test/parallel/test-fs-write.js
2 parents bfc9ea1 + ad94be8 commit f7e8fc6

File tree

319 files changed

+3068
-2197
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

319 files changed

+3068
-2197
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ release.
2929
</tr>
3030
<tr>
3131
<td valign="top">
32-
<b><a href="doc/changelogs/CHANGELOG_V9.md#9.4.0">9.4.0</a></b><br/>
32+
<b><a href="doc/changelogs/CHANGELOG_V9.md#9.5.0">9.5.0</a></b><br/>
33+
<a href="doc/changelogs/CHANGELOG_V9.md#9.4.0">9.4.0</a><br/>
3334
<a href="doc/changelogs/CHANGELOG_V9.md#9.3.0">9.3.0</a><br/>
3435
<a href="doc/changelogs/CHANGELOG_V9.md#9.2.1">9.2.1</a><br/>
3536
<a href="doc/changelogs/CHANGELOG_V9.md#9.2.0">9.2.0</a><br/>

benchmark/_http-benchmarkers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ exports.run = function(options, callback) {
185185
port: exports.PORT,
186186
path: '/',
187187
connections: 100,
188-
duration: 10,
188+
duration: 5,
189189
benchmarker: exports.default_http_benchmarker
190190
}, options);
191191
if (!options.benchmarker) {

benchmark/assert/deepequal-buffer.js

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ const bench = common.createBenchmark(main, {
1414
});
1515

1616
function main({ len, n, method }) {
17-
var i;
18-
1917
const data = Buffer.allocUnsafe(len + 1);
2018
const actual = Buffer.alloc(len);
2119
const expected = Buffer.alloc(len);
@@ -24,40 +22,13 @@ function main({ len, n, method }) {
2422
data.copy(expected);
2523
data.copy(expectedWrong);
2624

27-
switch (method) {
28-
case '':
29-
// Empty string falls through to next line as default, mostly for tests.
30-
case 'deepEqual':
31-
bench.start();
32-
for (i = 0; i < n; ++i) {
33-
// eslint-disable-next-line no-restricted-properties
34-
assert.deepEqual(actual, expected);
35-
}
36-
bench.end(n);
37-
break;
38-
case 'deepStrictEqual':
39-
bench.start();
40-
for (i = 0; i < n; ++i) {
41-
assert.deepStrictEqual(actual, expected);
42-
}
43-
bench.end(n);
44-
break;
45-
case 'notDeepEqual':
46-
bench.start();
47-
for (i = 0; i < n; ++i) {
48-
// eslint-disable-next-line no-restricted-properties
49-
assert.notDeepEqual(actual, expectedWrong);
50-
}
51-
bench.end(n);
52-
break;
53-
case 'notDeepStrictEqual':
54-
bench.start();
55-
for (i = 0; i < n; ++i) {
56-
assert.notDeepStrictEqual(actual, expectedWrong);
57-
}
58-
bench.end(n);
59-
break;
60-
default:
61-
throw new Error('Unsupported method');
25+
// eslint-disable-next-line no-restricted-properties
26+
const fn = method !== '' ? assert[method] : assert.deepEqual;
27+
const value2 = method.includes('not') ? expectedWrong : expected;
28+
29+
bench.start();
30+
for (var i = 0; i < n; ++i) {
31+
fn(actual, value2);
6232
}
33+
bench.end(n);
6334
}

benchmark/assert/deepequal-map.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,6 @@ function main({ n, len, method }) {
117117
benchmark(assert.notDeepEqual, n, values, values2);
118118
break;
119119
default:
120-
throw new Error('Unsupported method');
120+
throw new Error(`Unsupported method ${method}`);
121121
}
122122
}

benchmark/assert/deepequal-object.js

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -28,47 +28,19 @@ function createObj(source, add = '') {
2828
function main({ size, n, method }) {
2929
// TODO: Fix this "hack". `n` should not be manipulated.
3030
n = n / size;
31-
var i;
3231

3332
const source = Array.apply(null, Array(size));
3433
const actual = createObj(source);
3534
const expected = createObj(source);
3635
const expectedWrong = createObj(source, '4');
3736

38-
switch (method) {
39-
case '':
40-
// Empty string falls through to next line as default, mostly for tests.
41-
case 'deepEqual':
42-
bench.start();
43-
for (i = 0; i < n; ++i) {
44-
// eslint-disable-next-line no-restricted-properties
45-
assert.deepEqual(actual, expected);
46-
}
47-
bench.end(n);
48-
break;
49-
case 'deepStrictEqual':
50-
bench.start();
51-
for (i = 0; i < n; ++i) {
52-
assert.deepStrictEqual(actual, expected);
53-
}
54-
bench.end(n);
55-
break;
56-
case 'notDeepEqual':
57-
bench.start();
58-
for (i = 0; i < n; ++i) {
59-
// eslint-disable-next-line no-restricted-properties
60-
assert.notDeepEqual(actual, expectedWrong);
61-
}
62-
bench.end(n);
63-
break;
64-
case 'notDeepStrictEqual':
65-
bench.start();
66-
for (i = 0; i < n; ++i) {
67-
assert.notDeepStrictEqual(actual, expectedWrong);
68-
}
69-
bench.end(n);
70-
break;
71-
default:
72-
throw new Error('Unsupported method');
37+
// eslint-disable-next-line no-restricted-properties
38+
const fn = method !== '' ? assert[method] : assert.deepEqual;
39+
const value2 = method.includes('not') ? expectedWrong : expected;
40+
41+
bench.start();
42+
for (var i = 0; i < n; ++i) {
43+
fn(actual, value2);
7344
}
45+
bench.end(n);
7446
}

benchmark/assert/deepequal-prims-and-objs-big-array-set.js

Lines changed: 22 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,19 @@ const bench = common.createBenchmark(main, {
3030
]
3131
});
3232

33+
function run(fn, n, actual, expected) {
34+
bench.start();
35+
for (var i = 0; i < n; ++i) {
36+
fn(actual, expected);
37+
}
38+
bench.end(n);
39+
}
40+
3341
function main({ n, len, primitive, method }) {
3442
const prim = primValues[primitive];
3543
const actual = [];
3644
const expected = [];
3745
const expectedWrong = [];
38-
var i;
3946

4047
for (var x = 0; x < len; x++) {
4148
actual.push(prim);
@@ -51,69 +58,37 @@ function main({ n, len, primitive, method }) {
5158
const expectedWrongSet = new Set(expectedWrong);
5259

5360
switch (method) {
61+
// Empty string falls through to next line as default, mostly for tests.
5462
case '':
55-
// Empty string falls through to next line as default, mostly for tests.
5663
case 'deepEqual_Array':
57-
bench.start();
58-
for (i = 0; i < n; ++i) {
59-
// eslint-disable-next-line no-restricted-properties
60-
assert.deepEqual(actual, expected);
61-
}
62-
bench.end(n);
64+
// eslint-disable-next-line no-restricted-properties
65+
run(assert.deepEqual, n, actual, expected);
6366
break;
6467
case 'deepStrictEqual_Array':
65-
bench.start();
66-
for (i = 0; i < n; ++i) {
67-
assert.deepStrictEqual(actual, expected);
68-
}
69-
bench.end(n);
68+
run(assert.deepStrictEqual, n, actual, expected);
7069
break;
7170
case 'notDeepEqual_Array':
72-
bench.start();
73-
for (i = 0; i < n; ++i) {
74-
// eslint-disable-next-line no-restricted-properties
75-
assert.notDeepEqual(actual, expectedWrong);
76-
}
77-
bench.end(n);
71+
// eslint-disable-next-line no-restricted-properties
72+
run(assert.notDeepEqual, n, actual, expectedWrong);
7873
break;
7974
case 'notDeepStrictEqual_Array':
80-
bench.start();
81-
for (i = 0; i < n; ++i) {
82-
assert.notDeepStrictEqual(actual, expectedWrong);
83-
}
84-
bench.end(n);
75+
run(assert.notDeepStrictEqual, n, actual, expectedWrong);
8576
break;
8677
case 'deepEqual_Set':
87-
bench.start();
88-
for (i = 0; i < n; ++i) {
89-
// eslint-disable-next-line no-restricted-properties
90-
assert.deepEqual(actualSet, expectedSet);
91-
}
92-
bench.end(n);
78+
// eslint-disable-next-line no-restricted-properties
79+
run(assert.deepEqual, n, actualSet, expectedSet);
9380
break;
9481
case 'deepStrictEqual_Set':
95-
bench.start();
96-
for (i = 0; i < n; ++i) {
97-
assert.deepStrictEqual(actualSet, expectedSet);
98-
}
99-
bench.end(n);
82+
run(assert.deepStrictEqual, n, actualSet, expectedSet);
10083
break;
10184
case 'notDeepEqual_Set':
102-
bench.start();
103-
for (i = 0; i < n; ++i) {
104-
// eslint-disable-next-line no-restricted-properties
105-
assert.notDeepEqual(actualSet, expectedWrongSet);
106-
}
107-
bench.end(n);
85+
// eslint-disable-next-line no-restricted-properties
86+
run(assert.notDeepEqual, n, actualSet, expectedWrongSet);
10887
break;
10988
case 'notDeepStrictEqual_Set':
110-
bench.start();
111-
for (i = 0; i < n; ++i) {
112-
assert.notDeepStrictEqual(actualSet, expectedWrongSet);
113-
}
114-
bench.end(n);
89+
run(assert.notDeepStrictEqual, n, actualSet, expectedWrongSet);
11590
break;
11691
default:
117-
throw new Error('Unsupported method');
92+
throw new Error(`Unsupported method "${method}"`);
11893
}
11994
}

benchmark/assert/deepequal-prims-and-objs-big-loop.js

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -29,43 +29,14 @@ function main({ n, primitive, method }) {
2929
const actual = prim;
3030
const expected = prim;
3131
const expectedWrong = 'b';
32-
var i;
3332

34-
// Creates new array to avoid loop invariant code motion
35-
switch (method) {
36-
case '':
37-
// Empty string falls through to next line as default, mostly for tests.
38-
case 'deepEqual':
39-
bench.start();
40-
for (i = 0; i < n; ++i) {
41-
// eslint-disable-next-line no-restricted-properties
42-
assert.deepEqual([actual], [expected]);
43-
}
44-
bench.end(n);
45-
break;
46-
case 'deepStrictEqual':
47-
bench.start();
48-
for (i = 0; i < n; ++i) {
49-
assert.deepStrictEqual([actual], [expected]);
50-
}
51-
bench.end(n);
52-
break;
53-
case 'notDeepEqual':
54-
bench.start();
55-
for (i = 0; i < n; ++i) {
56-
// eslint-disable-next-line no-restricted-properties
57-
assert.notDeepEqual([actual], [expectedWrong]);
58-
}
59-
bench.end(n);
60-
break;
61-
case 'notDeepStrictEqual':
62-
bench.start();
63-
for (i = 0; i < n; ++i) {
64-
assert.notDeepStrictEqual([actual], [expectedWrong]);
65-
}
66-
bench.end(n);
67-
break;
68-
default:
69-
throw new Error('Unsupported method');
33+
// eslint-disable-next-line no-restricted-properties
34+
const fn = method !== '' ? assert[method] : assert.deepEqual;
35+
const value2 = method.includes('not') ? expectedWrong : expected;
36+
37+
bench.start();
38+
for (var i = 0; i < n; ++i) {
39+
fn([actual], [value2]);
7040
}
41+
bench.end(n);
7142
}

benchmark/assert/deepequal-set.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,6 @@ function main({ n, len, method }) {
126126
benchmark(assert.notDeepEqual, n, values, values2);
127127
break;
128128
default:
129-
throw new Error('Unsupported method');
129+
throw new Error(`Unsupported method "${method}"`);
130130
}
131131
}

benchmark/assert/deepequal-typedarrays.js

Lines changed: 8 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -31,42 +31,14 @@ function main({ type, n, len, method }) {
3131
const expectedWrong = Buffer.alloc(len);
3232
const wrongIndex = Math.floor(len / 2);
3333
expectedWrong[wrongIndex] = 123;
34-
var i;
3534

36-
switch (method) {
37-
case '':
38-
// Empty string falls through to next line as default, mostly for tests.
39-
case 'deepEqual':
40-
bench.start();
41-
for (i = 0; i < n; ++i) {
42-
// eslint-disable-next-line no-restricted-properties
43-
assert.deepEqual(actual, expected);
44-
}
45-
bench.end(n);
46-
break;
47-
case 'deepStrictEqual':
48-
bench.start();
49-
for (i = 0; i < n; ++i) {
50-
assert.deepStrictEqual(actual, expected);
51-
}
52-
bench.end(n);
53-
break;
54-
case 'notDeepEqual':
55-
bench.start();
56-
for (i = 0; i < n; ++i) {
57-
// eslint-disable-next-line no-restricted-properties
58-
assert.notDeepEqual(actual, expectedWrong);
59-
}
60-
bench.end(n);
61-
break;
62-
case 'notDeepStrictEqual':
63-
bench.start();
64-
for (i = 0; i < n; ++i) {
65-
assert.notDeepStrictEqual(actual, expectedWrong);
66-
}
67-
bench.end(n);
68-
break;
69-
default:
70-
throw new Error('Unsupported method');
35+
// eslint-disable-next-line no-restricted-properties
36+
const fn = method !== '' ? assert[method] : assert.deepEqual;
37+
const value2 = method.includes('not') ? expectedWrong : expected;
38+
39+
bench.start();
40+
for (var i = 0; i < n; ++i) {
41+
fn(actual, value2);
7142
}
43+
bench.end(n);
7244
}

benchmark/async_hooks/gc-tracking.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,23 @@ function endAfterGC(n) {
2222
}
2323

2424
function main({ n, method }) {
25+
var i;
2526
switch (method) {
2627
case 'trackingEnabled':
2728
bench.start();
28-
for (let i = 0; i < n; i++) {
29+
for (i = 0; i < n; i++) {
2930
new AsyncResource('foobar');
3031
}
3132
endAfterGC(n);
3233
break;
3334
case 'trackingDisabled':
3435
bench.start();
35-
for (let i = 0; i < n; i++) {
36+
for (i = 0; i < n; i++) {
3637
new AsyncResource('foobar', { requireManualDestroy: true });
3738
}
3839
endAfterGC(n);
3940
break;
4041
default:
41-
throw new Error('Unsupported method');
42+
throw new Error(`Unsupported method "${method}"`);
4243
}
4344
}

0 commit comments

Comments
 (0)