summaryrefslogtreecommitdiff
path: root/test/parallel
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel')
-rw-r--r--test/parallel/test-process-euid-egid.js11
-rw-r--r--test/parallel/test-process-initgroups.js5
-rw-r--r--test/parallel/test-process-setgroups.js5
-rw-r--r--test/parallel/test-process-uid-gid.js13
-rw-r--r--test/parallel/test-worker-unsupported-things.js34
5 files changed, 45 insertions, 23 deletions
diff --git a/test/parallel/test-process-euid-egid.js b/test/parallel/test-process-euid-egid.js
index 5639163bf3..b9e0630dab 100644
--- a/test/parallel/test-process-euid-egid.js
+++ b/test/parallel/test-process-euid-egid.js
@@ -3,16 +3,17 @@
const common = require('../common');
const assert = require('assert');
-if (common.isWindows || !common.isMainThread) {
- if (common.isMainThread) {
- assert.strictEqual(process.geteuid, undefined);
- assert.strictEqual(process.getegid, undefined);
- }
+if (common.isWindows) {
+ assert.strictEqual(process.geteuid, undefined);
+ assert.strictEqual(process.getegid, undefined);
assert.strictEqual(process.seteuid, undefined);
assert.strictEqual(process.setegid, undefined);
return;
}
+if (!common.isMainThread)
+ return;
+
assert.throws(() => {
process.seteuid({});
}, {
diff --git a/test/parallel/test-process-initgroups.js b/test/parallel/test-process-initgroups.js
index 49b8833f61..f5e839b1d2 100644
--- a/test/parallel/test-process-initgroups.js
+++ b/test/parallel/test-process-initgroups.js
@@ -2,11 +2,14 @@
const common = require('../common');
const assert = require('assert');
-if (common.isWindows || !common.isMainThread) {
+if (common.isWindows) {
assert.strictEqual(process.initgroups, undefined);
return;
}
+if (!common.isMainThread)
+ return;
+
[undefined, null, true, {}, [], () => {}].forEach((val) => {
assert.throws(
() => {
diff --git a/test/parallel/test-process-setgroups.js b/test/parallel/test-process-setgroups.js
index a85d668316..74de3e7a25 100644
--- a/test/parallel/test-process-setgroups.js
+++ b/test/parallel/test-process-setgroups.js
@@ -2,11 +2,14 @@
const common = require('../common');
const assert = require('assert');
-if (common.isWindows || !common.isMainThread) {
+if (common.isWindows) {
assert.strictEqual(process.setgroups, undefined);
return;
}
+if (!common.isMainThread)
+ return;
+
assert.throws(
() => {
process.setgroups();
diff --git a/test/parallel/test-process-uid-gid.js b/test/parallel/test-process-uid-gid.js
index 456cba7f4d..49086792b9 100644
--- a/test/parallel/test-process-uid-gid.js
+++ b/test/parallel/test-process-uid-gid.js
@@ -24,17 +24,18 @@ const common = require('../common');
const assert = require('assert');
-if (common.isWindows || !common.isMainThread) {
- // uid/gid functions are POSIX only, setters are main-thread only.
- if (common.isMainThread) {
- assert.strictEqual(process.getuid, undefined);
- assert.strictEqual(process.getgid, undefined);
- }
+if (common.isWindows) {
+ // uid/gid functions are POSIX only.
+ assert.strictEqual(process.getuid, undefined);
+ assert.strictEqual(process.getgid, undefined);
assert.strictEqual(process.setuid, undefined);
assert.strictEqual(process.setgid, undefined);
return;
}
+if (!common.isMainThread)
+ return;
+
assert.throws(() => {
process.setuid({});
}, {
diff --git a/test/parallel/test-worker-unsupported-things.js b/test/parallel/test-worker-unsupported-things.js
index 66b10ad157..cc9eec4af6 100644
--- a/test/parallel/test-worker-unsupported-things.js
+++ b/test/parallel/test-worker-unsupported-things.js
@@ -1,9 +1,12 @@
'use strict';
const common = require('../common');
const assert = require('assert');
-const { Worker, isMainThread, parentPort } = require('worker_threads');
+const { Worker, parentPort } = require('worker_threads');
-if (isMainThread) {
+// Do not use isMainThread so that this test itself can be run inside a Worker.
+if (!process.env.HAS_STARTED_WORKER) {
+ process.env.HAS_STARTED_WORKER = 1;
+ process.env.NODE_CHANNEL_FD = 'foo'; // Make worker think it has IPC.
const w = new Worker(__filename);
w.on('message', common.mustCall((message) => {
assert.strictEqual(message, true);
@@ -21,14 +24,25 @@ if (isMainThread) {
assert.strictEqual(process.debugPort, before);
}
- assert.strictEqual('abort' in process, false);
- assert.strictEqual('chdir' in process, false);
- assert.strictEqual('setuid' in process, false);
- assert.strictEqual('seteuid' in process, false);
- assert.strictEqual('setgid' in process, false);
- assert.strictEqual('setegid' in process, false);
- assert.strictEqual('setgroups' in process, false);
- assert.strictEqual('initgroups' in process, false);
+ const stubs = ['abort', 'chdir', 'send', 'disconnect'];
+
+ if (!common.isWindows) {
+ stubs.push('setuid', 'seteuid', 'setgid',
+ 'setegid', 'setgroups', 'initgroups');
+ }
+
+ stubs.forEach((fn) => {
+ assert.strictEqual(process[fn].disabled, true);
+ assert.throws(() => {
+ process[fn]();
+ }, { code: 'ERR_WORKER_UNSUPPORTED_OPERATION' });
+ });
+
+ ['channel', 'connected'].forEach((fn) => {
+ assert.throws(() => {
+ process[fn];
+ }, { code: 'ERR_WORKER_UNSUPPORTED_OPERATION' });
+ });
assert.strictEqual('_startProfilerIdleNotifier' in process, false);
assert.strictEqual('_stopProfilerIdleNotifier' in process, false);