Test that sandbox complains correctly

Test that sandbox does not complain about bogus .pyc errors and does
complain about other failures.

Closes #684.
This commit is contained in:
Tim D. Smith 2016-08-11 00:23:02 -07:00
parent 2aad3e052a
commit 4309a19a7c

View File

@ -25,4 +25,30 @@ class SandboxTest < Homebrew::TestCase
end end
refute_predicate @file, :exist? refute_predicate @file, :exist?
end end
def test_complains_on_failure
Utils.expects(:popen_read => "foo")
ARGV.stubs(:verbose? => true)
out, _err = capture_io do
assert_raises(ErrorDuringExecution) { @sandbox.exec "false" }
end
assert_match "foo", out
end
def test_ignores_bogus_python_error
with_bogus_error = <<-EOS.undent
foo
Mar 17 02:55:06 sandboxd[342]: Python(49765) deny file-write-unlink /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/errors.pyc
bar
EOS
Utils.expects(:popen_read => with_bogus_error)
ARGV.stubs(:verbose? => true)
out, _err = capture_io do
assert_raises(ErrorDuringExecution) { @sandbox.exec "false" }
end
refute_predicate out, :empty?
assert_match "foo", out
assert_match "bar", out
refute_match "Python", out
end
end end