From 4309a19a7cbaec0cce496a5a1fe459cee087dfd7 Mon Sep 17 00:00:00 2001 From: "Tim D. Smith" Date: Thu, 11 Aug 2016 00:23:02 -0700 Subject: [PATCH] Test that sandbox complains correctly Test that sandbox does not complain about bogus .pyc errors and does complain about other failures. Closes #684. --- Library/Homebrew/test/test_sandbox.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Library/Homebrew/test/test_sandbox.rb b/Library/Homebrew/test/test_sandbox.rb index 2cf9c51063..dc907d428d 100644 --- a/Library/Homebrew/test/test_sandbox.rb +++ b/Library/Homebrew/test/test_sandbox.rb @@ -25,4 +25,30 @@ class SandboxTest < Homebrew::TestCase end refute_predicate @file, :exist? 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