summaryrefslogtreecommitdiff
path: root/tests/specs/permission/write_allow_binary
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/permission/write_allow_binary')
-rw-r--r--tests/specs/permission/write_allow_binary/__test__.jsonc5
-rw-r--r--tests/specs/permission/write_allow_binary/main.out6
-rw-r--r--tests/specs/permission/write_allow_binary/main.ts14
-rw-r--r--tests/specs/permission/write_allow_binary/sub.ts3
4 files changed, 28 insertions, 0 deletions
diff --git a/tests/specs/permission/write_allow_binary/__test__.jsonc b/tests/specs/permission/write_allow_binary/__test__.jsonc
new file mode 100644
index 000000000..a47fed572
--- /dev/null
+++ b/tests/specs/permission/write_allow_binary/__test__.jsonc
@@ -0,0 +1,5 @@
+{
+ "tempDir": true,
+ "args": "run -A main.ts",
+ "output": "main.out"
+}
diff --git a/tests/specs/permission/write_allow_binary/main.out b/tests/specs/permission/write_allow_binary/main.out
new file mode 100644
index 000000000..e7c47f288
--- /dev/null
+++ b/tests/specs/permission/write_allow_binary/main.out
@@ -0,0 +1,6 @@
+Running...
+error: Uncaught (in promise) PermissionDenied: Requires write access to "binary[WILDLINE]", run again with the --allow-write flag
+Deno.writeTextFileSync(binaryName, "");
+ ^
+ at [WILDCARD]
+ at file:///[WILDLINE]sub.ts:3:6
diff --git a/tests/specs/permission/write_allow_binary/main.ts b/tests/specs/permission/write_allow_binary/main.ts
new file mode 100644
index 000000000..73deeab9a
--- /dev/null
+++ b/tests/specs/permission/write_allow_binary/main.ts
@@ -0,0 +1,14 @@
+const binaryName = Deno.build.os === "windows" ? "binary.exe" : "binary";
+Deno.copyFileSync(Deno.execPath(), binaryName);
+
+console.log("Running...");
+const result = new Deno.Command(
+ Deno.execPath(),
+ {
+ args: ["run", "--allow-write", `--allow-run=./${binaryName}`, "sub.ts"],
+ stderr: "inherit",
+ stdout: "inherit",
+ },
+).outputSync();
+
+console.assert(result.code == 1, "Expected failure");
diff --git a/tests/specs/permission/write_allow_binary/sub.ts b/tests/specs/permission/write_allow_binary/sub.ts
new file mode 100644
index 000000000..e865597b1
--- /dev/null
+++ b/tests/specs/permission/write_allow_binary/sub.ts
@@ -0,0 +1,3 @@
+const binaryName = Deno.build.os === "windows" ? "binary.exe" : "binary";
+
+Deno.writeTextFileSync(binaryName, "");