summaryrefslogtreecommitdiff
path: root/tests/specs/permission/path_not_permitted
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/permission/path_not_permitted')
-rw-r--r--tests/specs/permission/path_not_permitted/__test__.jsonc10
-rw-r--r--tests/specs/permission/path_not_permitted/main.out11
-rw-r--r--tests/specs/permission/path_not_permitted/main.ts18
-rw-r--r--tests/specs/permission/path_not_permitted/sub.ts34
4 files changed, 73 insertions, 0 deletions
diff --git a/tests/specs/permission/path_not_permitted/__test__.jsonc b/tests/specs/permission/path_not_permitted/__test__.jsonc
new file mode 100644
index 000000000..f10e8b389
--- /dev/null
+++ b/tests/specs/permission/path_not_permitted/__test__.jsonc
@@ -0,0 +1,10 @@
+{
+ "tempDir": true,
+ "envs": {
+ "LD_LIBRARY_PATH": "",
+ "LD_PRELOAD": "",
+ "DYLD_FALLBACK_LIBRARY_PATH": ""
+ },
+ "args": "run -A main.ts",
+ "output": "main.out"
+}
diff --git a/tests/specs/permission/path_not_permitted/main.out b/tests/specs/permission/path_not_permitted/main.out
new file mode 100644
index 000000000..3817c2ca5
--- /dev/null
+++ b/tests/specs/permission/path_not_permitted/main.out
@@ -0,0 +1,11 @@
+Running...
+PermissionDenied: Requires run access to "[WILDLINE]deno[WILDLINE]", run again with the --allow-run flag
+ [WILDCARD]
+ at file:///[WILDLINE]/sub.ts:15:5 {
+ name: "PermissionDenied"
+}
+PermissionDenied: Requires run access to "[WILDLINE]deno[WILDLINE]", run again with the --allow-run flag
+ [WILDCARD]
+ at file:///[WILDLINE]/sub.ts:23:22 {
+ name: "PermissionDenied"
+}
diff --git a/tests/specs/permission/path_not_permitted/main.ts b/tests/specs/permission/path_not_permitted/main.ts
new file mode 100644
index 000000000..9e8d627f2
--- /dev/null
+++ b/tests/specs/permission/path_not_permitted/main.ts
@@ -0,0 +1,18 @@
+const binaryName = Deno.build.os === "windows" ? "deno.exe" : "deno";
+Deno.copyFileSync(Deno.execPath(), binaryName);
+
+console.log("Running...");
+new Deno.Command(
+ Deno.execPath(),
+ {
+ args: [
+ "run",
+ "--allow-write",
+ "--allow-read",
+ `--allow-run=${binaryName}`,
+ "sub.ts",
+ ],
+ stderr: "inherit",
+ stdout: "inherit",
+ },
+).outputSync();
diff --git a/tests/specs/permission/path_not_permitted/sub.ts b/tests/specs/permission/path_not_permitted/sub.ts
new file mode 100644
index 000000000..f2b6d6b37
--- /dev/null
+++ b/tests/specs/permission/path_not_permitted/sub.ts
@@ -0,0 +1,34 @@
+const binaryName = Deno.build.os === "windows" ? "deno.exe" : "deno";
+const pathSep = Deno.build.os === "windows" ? "\\" : "/";
+
+Deno.mkdirSync("subdir");
+Deno.copyFileSync(binaryName, "subdir/" + binaryName);
+
+try {
+ const commandResult = new Deno.Command(
+ binaryName,
+ {
+ env: { "PATH": Deno.cwd() + pathSep + "subdir" },
+ stdout: "inherit",
+ stderr: "inherit",
+ },
+ ).outputSync();
+
+ console.log(commandResult.code);
+} catch (err) {
+ console.log(err);
+}
+
+try {
+ const child = Deno.run(
+ {
+ cmd: [binaryName],
+ env: { "PATH": Deno.cwd() + pathSep + "subdir" },
+ stdout: "inherit",
+ stderr: "inherit",
+ },
+ );
+ console.log((await child.status()).code);
+} catch (err) {
+ console.log(err);
+}