Skip to content

Commit 80147d4

Browse files
committed
Fix some issues with testing
- added tape-catch-onerror to catch async errors via window.onerror - node-test-timers-first-fire.js failed sometimes because of rounding errors etc.
1 parent ed096f2 commit 80147d4

18 files changed

+41
-36
lines changed

bin/download-node-tests.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -189,13 +189,13 @@ function testfixer (filename) {
189189
// require timers explicitly and set global functions
190190
line = "var mockProcess = new (require('events').EventEmitter)()\n" +
191191
'mockProcess.nextTick = process.nextTick\n' +
192-
'mockProcess.hrtime = process.hrtime || function (last) {\n' +
192+
'mockProcess.hrtime = function (last) {\n' +
193193
" var now = typeof performance !== 'undefined' && performance.now ?\n" +
194194
' performance.now() : +new Date\n' +
195195
' return [now / 1e3 - (last && last[0] || 0), 0]\n' +
196196
'}\n' +
197197
'var origSetTimeout = setTimeout\n' +
198-
"var test = require('tape-catch')\n" +
198+
"var test = require('tape-catch-onerror')\n" +
199199
"test('" + filename + "', function (tape) {\n" +
200200
' var process = mockProcess\n' +
201201
" var timers = require('../timers')\n" +
@@ -216,6 +216,11 @@ function testfixer (filename) {
216216
firstline = false
217217
}
218218

219+
// fix to ignore rounding errors
220+
if (filename === 'test-timers-first-fire.js') {
221+
line = line.replace("assert.ok(delta > 0, 'Timer fired early');", "assert.ok(delta > -0.001, 'Timer fired early');")
222+
}
223+
219224
// comment out require('common')
220225
line = line.replace(/^(var common = require.*)/, '// $1')
221226

@@ -231,7 +236,7 @@ function testfixer (filename) {
231236
if (/process\.exit/.test(line)) {
232237
callsExit = true
233238
}
234-
239+
235240
line = line.replace(/(var Timer = process\.binding\('timer_wrap'\)\.Timer;)$/,
236241
'// $1\n' +
237242
'var Timer = {}\n' +

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"hyperquest": "^1.0.1",
1717
"split": "^0.3.3",
1818
"tape": "^3.5.0",
19-
"tape-catch": "^1.0.4",
19+
"tape-catch-onerror": "^1.0.3",
2020
"through2": "^0.6.3",
2121
"zuul": "^1.17.1"
2222
},

test/node-pummel-test-timers.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('pummel-test-timers.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-first-fire.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-first-fire.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')
@@ -48,8 +48,8 @@ setTimeout(function() {
4848
var hr = process.hrtime(last);
4949
var ms = (hr[0] * 1e3) + (hr[1] / 1e6);
5050
var delta = ms - TIMEOUT;
51-
console.log('timer fired in', delta);
52-
assert.ok(delta > 0, 'Timer fired early');
51+
// console.log('timer fired in', delta);
52+
assert.ok(delta > -0.001, 'Timer fired early');
5353
}, TIMEOUT);
5454

5555

test/node-test-timers-immediate-queue.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-immediate-queue.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-immediate.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-immediate.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-linked-list.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-linked-list.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-non-integer-delay.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-non-integer-delay.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-ordering.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-ordering.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-this.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-this.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-unref-active.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-unref-active.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-unref-remove-other-unref-timers-only-one-fires.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-unref-remove-other-unref-timers-only-one-fires.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-unref-remove-other-unref-timers.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-unref-remove-other-unref-timers.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-unrefd-interval-still-fires.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-unrefd-interval-still-fires.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers-zero-timeout.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
var mockProcess = new (require('events').EventEmitter)()
22
mockProcess.nextTick = process.nextTick
3-
mockProcess.hrtime = process.hrtime || function (last) {
3+
mockProcess.hrtime = function (last) {
44
var now = typeof performance !== 'undefined' && performance.now ?
55
performance.now() : +new Date
66
return [now / 1e3 - (last && last[0] || 0), 0]
77
}
88
var origSetTimeout = setTimeout
9-
var test = require('tape-catch')
9+
var test = require('tape-catch-onerror')
1010
test('test-timers-zero-timeout.js', function (tape) {
1111
var process = mockProcess
1212
var timers = require('../timers')

test/node-test-timers.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
Array.prototype.forEach||(Array.prototype.forEach=function(r,t){var o,n;if(null==this)throw new TypeError("this is null or not defined");var e=Object(this),i=e.length>>>0;if("function"!=typeof r)throw new TypeError(r+" is not a function");for(arguments.length>1&&(o=t),n=0;i>n;){var a;n in e&&(a=e[n],r.call(o,a,n,e)),n++}});
22
var mockProcess = new (require('events').EventEmitter)()
33
mockProcess.nextTick = process.nextTick
4-
mockProcess.hrtime = process.hrtime || function (last) {
4+
mockProcess.hrtime = function (last) {
55
var now = typeof performance !== 'undefined' && performance.now ?
66
performance.now() : +new Date
77
return [now / 1e3 - (last && last[0] || 0), 0]
88
}
99
var origSetTimeout = setTimeout
10-
var test = require('tape-catch')
10+
var test = require('tape-catch-onerror')
1111
test('test-timers.js', function (tape) {
1212
var process = mockProcess
1313
var timers = require('../timers')

test/test-unref.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ mockProcess.hrtime = process.hrtime || function (last) {
55
return [now / 1e3 - (last && last[0] || 0), 0]
66
}
77
var origSetTimeout = setTimeout
8-
var test = require('tape-catch')
8+
var test = require('tape-catch-onerror')
99
test('test-unref.js', function (tape) {
1010
var process = mockProcess
1111
var timers = require('../timers')

test/test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var test = require('tape-catch');
1+
var test = require('tape-catch-onerror');
22
var timers = require('../timers');
33

44
var setTimeout = timers.setTimeout;

0 commit comments

Comments
 (0)