Manage sandbox test resources in setup/teardown
This commit is contained in:
parent
a972565739
commit
ba26567b03
@ -4,25 +4,25 @@ require "sandbox"
|
||||
class SandboxTest < Homebrew::TestCase
|
||||
def setup
|
||||
skip "sandbox not implemented" unless Sandbox.available?
|
||||
@sandbox = Sandbox.new
|
||||
@dir = Pathname.new(Dir.mktmpdir)
|
||||
@file = @dir/"foo"
|
||||
end
|
||||
|
||||
def teardown
|
||||
@dir.rmtree
|
||||
end
|
||||
|
||||
def test_allow_write
|
||||
s = Sandbox.new
|
||||
testpath = Pathname.new(TEST_TMPDIR)
|
||||
foo = testpath/"foo"
|
||||
s.allow_write foo
|
||||
s.exec "touch", foo
|
||||
assert_predicate foo, :exist?
|
||||
foo.unlink
|
||||
@sandbox.allow_write @file
|
||||
@sandbox.exec "touch", @file
|
||||
assert_predicate @file, :exist?
|
||||
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 }
|
||||
assert_raises(ErrorDuringExecution) { @sandbox.exec "touch", @file }
|
||||
end
|
||||
refute_predicate bar, :exist?
|
||||
refute_predicate @file, :exist?
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user