summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/args/flags.rs27
-rw-r--r--tests/specs/permission/allow_import/__test__.jsonc5
-rw-r--r--tests/specs/permission/allow_import/success.ts3
3 files changed, 35 insertions, 0 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs
index 4e151d7d9..9938a0955 100644
--- a/cli/args/flags.rs
+++ b/cli/args/flags.rs
@@ -3603,6 +3603,14 @@ fn allow_all_arg() -> Arg {
Arg::new("allow-all")
.short('A')
.long("allow-all")
+ .conflicts_with("allow-read")
+ .conflicts_with("allow-write")
+ .conflicts_with("allow-net")
+ .conflicts_with("allow-env")
+ .conflicts_with("allow-run")
+ .conflicts_with("allow-sys")
+ .conflicts_with("allow-ffi")
+ .conflicts_with("allow-import")
.action(ArgAction::SetTrue)
.help("Allow all permissions")
}
@@ -11007,4 +11015,23 @@ Usage: deno repl [OPTIONS] [-- [ARGS]...]\n"
);
assert_eq!(parse("file:///example.com"), None);
}
+
+ #[test]
+ fn allow_all_conflicts_allow_perms() {
+ let flags = [
+ "--allow-read",
+ "--allow-write",
+ "--allow-net",
+ "--allow-env",
+ "--allow-run",
+ "--allow-sys",
+ "--allow-ffi",
+ "--allow-import",
+ ];
+ for flag in flags {
+ let r =
+ flags_from_vec(svec!["deno", "run", "--allow-all", flag, "foo.ts"]);
+ assert!(r.is_err());
+ }
+ }
}
diff --git a/tests/specs/permission/allow_import/__test__.jsonc b/tests/specs/permission/allow_import/__test__.jsonc
index 21a3cb7b5..4135a24be 100644
--- a/tests/specs/permission/allow_import/__test__.jsonc
+++ b/tests/specs/permission/allow_import/__test__.jsonc
@@ -34,6 +34,11 @@
"output": "run.out",
"exitCode": 1
},
+ "run_allow_all": {
+ "args": "run --quiet --allow-all success.ts",
+ "output": "3\n",
+ "exitCode": 0
+ },
"serve": {
"args": "serve main.ts",
"output": "serve.out",
diff --git a/tests/specs/permission/allow_import/success.ts b/tests/specs/permission/allow_import/success.ts
new file mode 100644
index 000000000..e83ab4b9b
--- /dev/null
+++ b/tests/specs/permission/allow_import/success.ts
@@ -0,0 +1,3 @@
+import { add } from "http://localhost:4545/add.ts";
+
+console.log(add(1, 2));