From 6e887fbf5ac5bc1fb551a3e4222ad1804b490def Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sun, 14 Aug 2016 17:34:54 +0100 Subject: sandbox: add formula? method and sandbox core. Add a new `Sandbox.formula?` method to see if a given formula should be sandboxed. Use the formula to check its tap against a list of pre-approved taps where we know every formula builds under the sandbox (currently just homebrew/core). --- Library/Homebrew/test/test_sandbox.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'Library/Homebrew/test') diff --git a/Library/Homebrew/test/test_sandbox.rb b/Library/Homebrew/test/test_sandbox.rb index de60551d1..cb33c3ffa 100644 --- a/Library/Homebrew/test/test_sandbox.rb +++ b/Library/Homebrew/test/test_sandbox.rb @@ -13,6 +13,22 @@ class SandboxTest < Homebrew::TestCase @dir.rmtree end + def test_formula? + f = formula { url "foo-1.0" } + f2 = formula { url "bar-1.0" } + f2.stubs(:tap).returns(Tap.fetch("test/tap")) + + ARGV.stubs(:sandbox?).returns true + assert Sandbox.formula?(f), + "Formulae should be sandboxed if --sandbox was passed." + + ARGV.stubs(:sandbox?).returns false + assert Sandbox.formula?(f), + "Formulae should be sandboxed if in a sandboxed tap." + refute Sandbox.formula?(f2), + "Formulae should not be sandboxed if not in a sandboxed tap." + end + def test_test? ARGV.stubs(:no_sandbox?).returns false assert Sandbox.test?, -- cgit v1.2.3