diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-07-09 13:40:01 +0200 |
---|---|---|
committer | Michaƫl Zasso <targos@protonmail.com> | 2019-07-20 11:29:53 +0200 |
commit | 506b50a54add178e83b41de914b19436122b54d4 (patch) | |
tree | 4e628cb41808d3f85092cb49dea2d1fe5b36c20f | |
parent | af6608ca1113af4617626db9e950865e4e486403 (diff) | |
download | android-node-v8-506b50a54add178e83b41de914b19436122b54d4.tar.gz android-node-v8-506b50a54add178e83b41de914b19436122b54d4.tar.bz2 android-node-v8-506b50a54add178e83b41de914b19436122b54d4.zip |
test: make repl tests more resilient
This refactors two tests to ignore line numbers in stack traces. That
way changed line numbers do not have any impact on the test outcome
anymore.
PR-URL: https://github.com/nodejs/node/pull/28608
Fixes: https://github.com/nodejs/node/issues/28546
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Lance Ball <lball@redhat.com>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
-rw-r--r-- | test/parallel/test-repl-pretty-custom-stack.js | 12 | ||||
-rw-r--r-- | test/parallel/test-repl-pretty-stack.js | 18 |
2 files changed, 19 insertions, 11 deletions
diff --git a/test/parallel/test-repl-pretty-custom-stack.js b/test/parallel/test-repl-pretty-custom-stack.js index b65287c5f5..0d2ada134f 100644 --- a/test/parallel/test-repl-pretty-custom-stack.js +++ b/test/parallel/test-repl-pretty-custom-stack.js @@ -5,6 +5,7 @@ const fixtures = require('../common/fixtures'); const assert = require('assert'); const repl = require('repl'); +const stackRegExp = /repl:[0-9]+:[0-9]+/g; function run({ command, expected }) { let accum = ''; @@ -23,7 +24,10 @@ function run({ command, expected }) { }); r.write(`${command}\n`); - assert.strictEqual(accum, expected); + assert.strictEqual( + accum.replace(stackRegExp, 'repl:*:*'), + expected.replace(stackRegExp, 'repl:*:*') + ); r.close(); } @@ -44,8 +48,8 @@ const tests = [ { // test .load for a file that throws command: `.load ${fixtures.path('repl-pretty-stack.js')}`, - expected: 'Thrown:\nError: Whoops!--->\nrepl:9:24--->\nd (repl:12:3)' + - '--->\nc (repl:9:3)--->\nb (repl:6:3)--->\na (repl:3:3)\n' + expected: 'Thrown:\nError: Whoops!--->\nrepl:*:*--->\nd (repl:*:*)' + + '--->\nc (repl:*:*)--->\nb (repl:*:*)--->\na (repl:*:*)\n' }, { command: 'let x y;', @@ -63,7 +67,7 @@ const tests = [ // test anonymous IIFE { command: '(function() { throw new Error(\'Whoops!\'); })()', - expected: 'Thrown:\nError: Whoops!--->\nrepl:1:21\n' + expected: 'Thrown:\nError: Whoops!--->\nrepl:*:*\n' } ]; diff --git a/test/parallel/test-repl-pretty-stack.js b/test/parallel/test-repl-pretty-stack.js index 8beb48fd68..9f307c4f43 100644 --- a/test/parallel/test-repl-pretty-stack.js +++ b/test/parallel/test-repl-pretty-stack.js @@ -5,6 +5,7 @@ const fixtures = require('../common/fixtures'); const assert = require('assert'); const repl = require('repl'); +const stackRegExp = /(at .*repl:)[0-9]+:[0-9]+/g; function run({ command, expected, ...extraREPLOptions }) { let accum = ''; @@ -24,7 +25,10 @@ function run({ command, expected, ...extraREPLOptions }) { }); r.write(`${command}\n`); - assert.strictEqual(accum, expected); + assert.strictEqual( + accum.replace(stackRegExp, '$1*:*'), + expected.replace(stackRegExp, '$1*:*') + ); r.close(); } @@ -32,9 +36,9 @@ const tests = [ { // Test .load for a file that throws. command: `.load ${fixtures.path('repl-pretty-stack.js')}`, - expected: 'Thrown:\nError: Whoops!\n at repl:9:24\n' + - ' at d (repl:12:3)\n at c (repl:9:3)\n' + - ' at b (repl:6:3)\n at a (repl:3:3)\n' + expected: 'Thrown:\nError: Whoops!\n at repl:*:*\n' + + ' at d (repl:*:*)\n at c (repl:*:*)\n' + + ' at b (repl:*:*)\n at a (repl:*:*)\n' }, { command: 'let x y;', @@ -48,12 +52,12 @@ const tests = [ { command: '(() => { const err = Error(\'Whoops!\'); ' + 'err.foo = \'bar\'; throw err; })()', - expected: "Thrown:\nError: Whoops!\n at repl:1:22 {\n foo: 'bar'\n}\n", + expected: "Thrown:\nError: Whoops!\n at repl:*:* {\n foo: 'bar'\n}\n", }, { command: '(() => { const err = Error(\'Whoops!\'); ' + 'err.foo = \'bar\'; throw err; })()', - expected: 'Thrown:\nError: Whoops!\n at repl:1:22 {\n foo: ' + + expected: 'Thrown:\nError: Whoops!\n at repl:*:* {\n foo: ' + "\u001b[32m'bar'\u001b[39m\n}\n", useColors: true }, @@ -64,7 +68,7 @@ const tests = [ // Test anonymous IIFE. { command: '(function() { throw new Error(\'Whoops!\'); })()', - expected: 'Thrown:\nError: Whoops!\n at repl:1:21\n' + expected: 'Thrown:\nError: Whoops!\n at repl:*:*\n' } ]; |