diff options
author | Joyee Cheung <joyeec9h3@gmail.com> | 2019-09-19 11:36:02 +0900 |
---|---|---|
committer | Benjamin Coe <bencoe@google.com> | 2019-09-24 09:55:00 -0700 |
commit | b2634238d8d50e3801cb716e3f3165be1c50418a (patch) | |
tree | 8d8d0828cbdd8feef99fe663b16ae7fc0e627dd5 /test/parallel/test-v8-coverage.js | |
parent | c5f5f84a33967862036c7d87f4bbde6a59d3820a (diff) | |
download | android-node-v8-b2634238d8d50e3801cb716e3f3165be1c50418a.tar.gz android-node-v8-b2634238d8d50e3801cb716e3f3165be1c50418a.tar.bz2 android-node-v8-b2634238d8d50e3801cb716e3f3165be1c50418a.zip |
src: disconnect inspector before exiting out of fatal exception
So that coverage, .etc are properly written in case of a normal
fatal exception.
PR-URL: https://github.com/nodejs/node/pull/29611
Fixes: https://github.com/nodejs/node/issues/29570
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Ben Coe <bencoe@gmail.com>
Diffstat (limited to 'test/parallel/test-v8-coverage.js')
-rw-r--r-- | test/parallel/test-v8-coverage.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/parallel/test-v8-coverage.js b/test/parallel/test-v8-coverage.js index 02ace7af9c..2e70ce91fe 100644 --- a/test/parallel/test-v8-coverage.js +++ b/test/parallel/test-v8-coverage.js @@ -35,6 +35,24 @@ function nextdir() { assert.strictEqual(fixtureCoverage.functions[0].ranges[1].count, 0); } +// Outputs coverage when error is thrown in first tick. +{ + const coverageDirectory = path.join(tmpdir.path, nextdir()); + const output = spawnSync(process.execPath, [ + require.resolve('../fixtures/v8-coverage/throw') + ], { env: { ...process.env, NODE_V8_COVERAGE: coverageDirectory } }); + if (output.status !== 1) { + console.log(output.stderr.toString()); + } + assert.strictEqual(output.status, 1); + const fixtureCoverage = getFixtureCoverage('throw.js', coverageDirectory); + assert.ok(fixtureCoverage, 'coverage not found for file'); + // First branch executed. + assert.strictEqual(fixtureCoverage.functions[0].ranges[0].count, 1); + // Second branch did not execute. + assert.strictEqual(fixtureCoverage.functions[0].ranges[1].count, 0); +} + // Outputs coverage when process.exit(1) exits process. { const coverageDirectory = path.join(tmpdir.path, nextdir()); |