summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/integration/bench_tests.rs19
-rw-r--r--cli/tests/integration/test_tests.rs18
-rw-r--r--cli/tests/testdata/bench/recursive_permissions_pledge.js8
-rw-r--r--cli/tests/testdata/test/recursive_permissions_pledge.js8
4 files changed, 53 insertions, 0 deletions
diff --git a/cli/tests/integration/bench_tests.rs b/cli/tests/integration/bench_tests.rs
index 2df08bdb5..7b4fbb0a5 100644
--- a/cli/tests/integration/bench_tests.rs
+++ b/cli/tests/integration/bench_tests.rs
@@ -1,6 +1,7 @@
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
use crate::itest;
+use test_util as util;
itest!(requires_unstable {
args: "bench bench/requires_unstable.js",
@@ -139,3 +140,21 @@ itest!(no_prompt_with_denied_perms {
exit_code: 1,
output: "bench/no_prompt_with_denied_perms.out",
});
+
+#[test]
+fn recursive_permissions_pledge() {
+ let output = util::deno_cmd()
+ .current_dir(util::testdata_path())
+ .arg("bench")
+ .arg("--unstable")
+ .arg("bench/recursive_permissions_pledge.js")
+ .stderr(std::process::Stdio::piped())
+ .spawn()
+ .unwrap()
+ .wait_with_output()
+ .unwrap();
+ assert!(!output.status.success());
+ assert!(String::from_utf8(output.stderr).unwrap().contains(
+ "pledge test permissions called before restoring previous pledge"
+ ));
+}
diff --git a/cli/tests/integration/test_tests.rs b/cli/tests/integration/test_tests.rs
index 6a0d5c1ab..bac50f16d 100644
--- a/cli/tests/integration/test_tests.rs
+++ b/cli/tests/integration/test_tests.rs
@@ -298,3 +298,21 @@ itest!(no_prompt_with_denied_perms {
exit_code: 1,
output: "test/no_prompt_with_denied_perms.out",
});
+
+#[test]
+fn recursive_permissions_pledge() {
+ let output = util::deno_cmd()
+ .current_dir(util::testdata_path())
+ .arg("test")
+ .arg("test/recursive_permissions_pledge.js")
+ .stderr(std::process::Stdio::piped())
+ .stdout(std::process::Stdio::piped())
+ .spawn()
+ .unwrap()
+ .wait_with_output()
+ .unwrap();
+ assert!(!output.status.success());
+ assert!(String::from_utf8(output.stderr).unwrap().contains(
+ "pledge test permissions called before restoring previous pledge"
+ ));
+}
diff --git a/cli/tests/testdata/bench/recursive_permissions_pledge.js b/cli/tests/testdata/bench/recursive_permissions_pledge.js
new file mode 100644
index 000000000..dcdcbf574
--- /dev/null
+++ b/cli/tests/testdata/bench/recursive_permissions_pledge.js
@@ -0,0 +1,8 @@
+Deno.core.opSync(
+ "op_pledge_test_permissions",
+ "none",
+);
+Deno.core.opSync(
+ "op_pledge_test_permissions",
+ "inherit",
+);
diff --git a/cli/tests/testdata/test/recursive_permissions_pledge.js b/cli/tests/testdata/test/recursive_permissions_pledge.js
new file mode 100644
index 000000000..dcdcbf574
--- /dev/null
+++ b/cli/tests/testdata/test/recursive_permissions_pledge.js
@@ -0,0 +1,8 @@
+Deno.core.opSync(
+ "op_pledge_test_permissions",
+ "none",
+);
+Deno.core.opSync(
+ "op_pledge_test_permissions",
+ "inherit",
+);