summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorUjjwal Sharma <usharma1998@gmail.com>2018-11-07 22:17:09 +0530
committerUjjwal Sharma <usharma1998@gmail.com>2019-02-19 20:58:37 +0530
commit5f8ccecaa2e44c4a04db95ccd278a7078c14dd77 (patch)
treee56a5d9bff97dc73c5898f637d19e78627762529 /test
parentd345b0dc128d99afc8476f58ed5546b43d52d30a (diff)
downloadandroid-node-v8-5f8ccecaa2e44c4a04db95ccd278a7078c14dd77.tar.gz
android-node-v8-5f8ccecaa2e44c4a04db95ccd278a7078c14dd77.tar.bz2
android-node-v8-5f8ccecaa2e44c4a04db95ccd278a7078c14dd77.zip
module: revert module._compile to original state if module is patched
PR-URL: https://github.com/nodejs/node/pull/21573 Fixes: https://github.com/nodejs/node/issues/17396 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/cjs-module-wrap.js9
-rw-r--r--test/parallel/test-module-wrap.js9
-rw-r--r--test/parallel/test-v8-coverage.js26
3 files changed, 31 insertions, 13 deletions
diff --git a/test/fixtures/cjs-module-wrap.js b/test/fixtures/cjs-module-wrap.js
new file mode 100644
index 0000000000..2e11cc1a3b
--- /dev/null
+++ b/test/fixtures/cjs-module-wrap.js
@@ -0,0 +1,9 @@
+const assert = require('assert');
+const m = require('module');
+
+global.mwc = 0;
+m.wrapper[0] += 'global.mwc = (global.mwc || 0 ) + 1;';
+
+require('./not-main-module.js');
+assert.strictEqual(mwc, 1);
+delete global.mwc;
diff --git a/test/parallel/test-module-wrap.js b/test/parallel/test-module-wrap.js
new file mode 100644
index 0000000000..639300cb6a
--- /dev/null
+++ b/test/parallel/test-module-wrap.js
@@ -0,0 +1,9 @@
+'use strict';
+require('../common');
+const fixtures = require('../common/fixtures');
+const { execFileSync } = require('child_process');
+
+const cjsModuleWrapTest = fixtures.path('cjs-module-wrap.js');
+const node = process.argv[0];
+
+execFileSync(node, [cjsModuleWrapTest], { stdio: 'pipe' });
diff --git a/test/parallel/test-v8-coverage.js b/test/parallel/test-v8-coverage.js
index 3db8b81d55..5be68bf4b7 100644
--- a/test/parallel/test-v8-coverage.js
+++ b/test/parallel/test-v8-coverage.js
@@ -27,9 +27,9 @@ function nextdir() {
const fixtureCoverage = getFixtureCoverage('basic.js', coverageDirectory);
assert.ok(fixtureCoverage);
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[0].count, 1);
// second branch did not execute.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[1].count, 0);
}
// Outputs coverage when process.exit(1) exits process.
@@ -43,9 +43,9 @@ function nextdir() {
const fixtureCoverage = getFixtureCoverage('exit-1.js', coverageDirectory);
assert.ok(fixtureCoverage, 'coverage not found for file');
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[0].count, 1);
// second branch did not execute.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[1].count, 0);
}
// Outputs coverage when process.kill(process.pid, "SIGINT"); exits process.
@@ -61,9 +61,9 @@ function nextdir() {
const fixtureCoverage = getFixtureCoverage('sigint.js', coverageDirectory);
assert.ok(fixtureCoverage);
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[0].count, 1);
// second branch did not execute.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[1].count, 0);
}
// outputs coverage from subprocess.
@@ -78,9 +78,9 @@ function nextdir() {
coverageDirectory);
assert.ok(fixtureCoverage);
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[2].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
// second branch did not execute.
- assert.strictEqual(fixtureCoverage.functions[2].ranges[1].count, 0);
+ assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
}
// outputs coverage from worker.
@@ -95,9 +95,9 @@ function nextdir() {
coverageDirectory);
assert.ok(fixtureCoverage);
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[2].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
// second branch did not execute.
- assert.strictEqual(fixtureCoverage.functions[2].ranges[1].count, 0);
+ assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
}
// Does not output coverage if NODE_V8_COVERAGE is empty.
@@ -125,7 +125,7 @@ function nextdir() {
coverageDirectory);
assert.ok(fixtureCoverage);
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[0].count, 1);
}
// Outputs coverage when the coverage directory is not absolute.
@@ -144,9 +144,9 @@ function nextdir() {
absoluteCoverageDirectory);
assert.ok(fixtureCoverage);
// first branch executed.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[0].count, 1);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[0].count, 1);
// second branch did not execute.
- assert.strictEqual(fixtureCoverage.functions[1].ranges[1].count, 0);
+ assert.strictEqual(fixtureCoverage.functions[0].ranges[1].count, 0);
}
// Extracts the coverage object for a given fixture name.