aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/test_sandbox.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/test/test_sandbox.rb')
-rw-r--r--Library/Homebrew/test/test_sandbox.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/Library/Homebrew/test/test_sandbox.rb b/Library/Homebrew/test/test_sandbox.rb
new file mode 100644
index 000000000..4564edb3b
--- /dev/null
+++ b/Library/Homebrew/test/test_sandbox.rb
@@ -0,0 +1,28 @@
+require "testing_env"
+require "sandbox"
+
+class SandboxTest < Homebrew::TestCase
+ def setup
+ skip "sandbox not implemented" unless Sandbox.available?
+ end
+
+ def test_allow_write
+ s = Sandbox.new
+ testpath = Pathname.new(TEST_TMPDIR)
+ foo = testpath/"foo"
+ s.allow_write "#{testpath}", :type => :subpath
+ s.exec "touch", foo
+ assert_predicate foo, :exist?
+ foo.unlink
+ end
+
+ def test_deny_write
+ s = Sandbox.new
+ testpath = Pathname.new(TEST_TMPDIR)
+ bar = testpath/"bar"
+ shutup do
+ assert_raises(ErrorDuringExecution) { s.exec "touch", bar }
+ end
+ refute_predicate bar, :exist?
+ end
+end