mirror of
https://github.com/denoland/deno.git
synced 2025-08-04 02:48:24 +00:00
Stricter permissions for Deno.makeTemp* (#4318)
This commit is contained in:
parent
2d1b39bef3
commit
72c408ea9d
2 changed files with 55 additions and 9 deletions
|
@ -26,6 +26,17 @@ unitTest({ perms: { write: true } }, function makeTempDirSyncSuccess(): void {
|
|||
assert(err instanceof Deno.errors.NotFound);
|
||||
});
|
||||
|
||||
unitTest(
|
||||
{ perms: { read: true, write: true } },
|
||||
function makeTempDirSyncMode(): void {
|
||||
const path = Deno.makeTempDirSync();
|
||||
const pathInfo = Deno.statSync(path);
|
||||
if (Deno.build.os !== "win") {
|
||||
assertEquals(pathInfo.mode! & 0o777, 0o700 & ~Deno.umask());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
unitTest(function makeTempDirSyncPerm(): void {
|
||||
// makeTempDirSync should require write permissions (for now).
|
||||
let err;
|
||||
|
@ -66,6 +77,17 @@ unitTest(
|
|||
}
|
||||
);
|
||||
|
||||
unitTest(
|
||||
{ perms: { read: true, write: true } },
|
||||
async function makeTempDirMode(): Promise<void> {
|
||||
const path = await Deno.makeTempDir();
|
||||
const pathInfo = Deno.statSync(path);
|
||||
if (Deno.build.os !== "win") {
|
||||
assertEquals(pathInfo.mode! & 0o777, 0o700 & ~Deno.umask());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
unitTest({ perms: { write: true } }, function makeTempFileSyncSuccess(): void {
|
||||
const file1 = Deno.makeTempFileSync({ prefix: "hello", suffix: "world" });
|
||||
const file2 = Deno.makeTempFileSync({ prefix: "hello", suffix: "world" });
|
||||
|
@ -92,6 +114,17 @@ unitTest({ perms: { write: true } }, function makeTempFileSyncSuccess(): void {
|
|||
assert(err instanceof Deno.errors.NotFound);
|
||||
});
|
||||
|
||||
unitTest(
|
||||
{ perms: { read: true, write: true } },
|
||||
function makeTempFileSyncMode(): void {
|
||||
const path = Deno.makeTempFileSync();
|
||||
const pathInfo = Deno.statSync(path);
|
||||
if (Deno.build.os !== "win") {
|
||||
assertEquals(pathInfo.mode! & 0o777, 0o600 & ~Deno.umask());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
unitTest(function makeTempFileSyncPerm(): void {
|
||||
// makeTempFileSync should require write permissions (for now).
|
||||
let err;
|
||||
|
@ -132,3 +165,14 @@ unitTest(
|
|||
assert(err instanceof Deno.errors.NotFound);
|
||||
}
|
||||
);
|
||||
|
||||
unitTest(
|
||||
{ perms: { read: true, write: true } },
|
||||
async function makeTempFileMode(): Promise<void> {
|
||||
const path = await Deno.makeTempFile();
|
||||
const pathInfo = Deno.statSync(path);
|
||||
if (Deno.build.os !== "win") {
|
||||
assertEquals(pathInfo.mode! & 0o777, 0o600 & ~Deno.umask());
|
||||
}
|
||||
}
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue