summaryrefslogtreecommitdiff
path: root/test/parallel/test-v8-coverage.js
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2019-09-19 11:36:02 +0900
committerBenjamin Coe <bencoe@google.com>2019-09-24 09:55:00 -0700
commitb2634238d8d50e3801cb716e3f3165be1c50418a (patch)
tree8d8d0828cbdd8feef99fe663b16ae7fc0e627dd5 /test/parallel/test-v8-coverage.js
parentc5f5f84a33967862036c7d87f4bbde6a59d3820a (diff)
downloadandroid-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.js18
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());