From a655a0f3e4201840eda94938fc8d6222c2b94a99 Mon Sep 17 00:00:00 2001 From: Leo K Date: Mon, 13 Sep 2021 19:26:23 +0200 Subject: feat(unstable): allow specifing gid and uid for subprocess (#11586) --- cli/tests/unit/process_test.ts | 56 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'cli/tests/unit/process_test.ts') diff --git a/cli/tests/unit/process_test.ts b/cli/tests/unit/process_test.ts index 371521e33..9f8e9cd9f 100644 --- a/cli/tests/unit/process_test.ts +++ b/cli/tests/unit/process_test.ts @@ -537,3 +537,59 @@ unitTest( p.close(); }, ); + +unitTest( + { perms: { run: true, read: true }, ignore: Deno.build.os === "windows" }, + async function uid(): Promise { + const p = Deno.run({ + cmd: [ + "id", + "-u", + ], + stdout: "piped", + }); + + const currentUid = new TextDecoder().decode(await p.output()); + p.close(); + + if (currentUid !== "0") { + assertThrows(() => { + Deno.run({ + cmd: [ + "echo", + "fhqwhgads", + ], + uid: 0, + }); + }, Deno.errors.PermissionDenied); + } + }, +); + +unitTest( + { perms: { run: true, read: true }, ignore: Deno.build.os === "windows" }, + async function gid(): Promise { + const p = Deno.run({ + cmd: [ + "id", + "-g", + ], + stdout: "piped", + }); + + const currentGid = new TextDecoder().decode(await p.output()); + p.close(); + + if (currentGid !== "0") { + assertThrows(() => { + Deno.run({ + cmd: [ + "echo", + "fhqwhgads", + ], + gid: 0, + }); + }, Deno.errors.PermissionDenied); + } + }, +); -- cgit v1.2.3