diff options
Diffstat (limited to 'cli/tests/unit/process_test.ts')
-rw-r--r-- | cli/tests/unit/process_test.ts | 56 |
1 files changed, 56 insertions, 0 deletions
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<void> { + 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<void> { + 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); + } + }, +); |