aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/test-bot.rb
diff options
context:
space:
mode:
authorAndrew Janke2016-04-10 22:53:56 -0400
committerAndrew Janke2016-04-18 12:23:08 -0400
commitacc9a7ca8554bc2413dee2d6d0f407b3a59c628c (patch)
tree4fb68e17149a73d9d123d9538e2d5fdccdd0ffd9 /Library/Homebrew/cmd/test-bot.rb
parent0e8140b012181413438002b65290c84284721694 (diff)
downloadbrew-acc9a7ca8554bc2413dee2d6d0f407b3a59c628c.tar.bz2
brew test, install, update-test: add --keep-tmp option
Also enables sandbox for --interactive and --debug use of install and test, using automatic retention. Closes #66. Signed-off-by: Andrew Janke <andrew@apjanke.net>
Diffstat (limited to 'Library/Homebrew/cmd/test-bot.rb')
-rw-r--r--Library/Homebrew/cmd/test-bot.rb19
1 files changed, 15 insertions, 4 deletions
diff --git a/Library/Homebrew/cmd/test-bot.rb b/Library/Homebrew/cmd/test-bot.rb
index 85c75d0ab..414558b2c 100644
--- a/Library/Homebrew/cmd/test-bot.rb
+++ b/Library/Homebrew/cmd/test-bot.rb
@@ -21,6 +21,7 @@
# --verbose: Print test step output in realtime. Has the side effect of passing output
# as raw bytes instead of re-encoding in UTF-8.
# --fast: Don't install any packages, but run e.g. audit anyway.
+# --keep-tmp: Keep temporary files written by main installs and tests that are run.
#
# --ci-master: Shortcut for Homebrew master branch CI options.
# --ci-pr: Shortcut for Homebrew pull request CI options.
@@ -532,7 +533,12 @@ module Homebrew
end
test "brew", "fetch", "--retry", *fetch_args
test "brew", "uninstall", "--force", formula_name if formula.installed?
- install_args = ["--verbose"]
+
+ # shared_*_args are applied to both the main and --devel spec
+ shared_install_args = ["--verbose"]
+ shared_install_args << "--keep-tmp" if ARGV.keep_tmp?
+ # install_args is just for the main (stable, or devel if in a devel-only tap) spec
+ install_args = []
install_args << "--build-bottle" if !ARGV.include?("--fast") && !ARGV.include?("--no-bottle") && !formula.bottle_disabled?
install_args << "--HEAD" if ARGV.include? "--HEAD"
@@ -548,6 +554,7 @@ module Homebrew
formula_bottled = formula.bottled?
end
+ install_args.concat(shared_install_args)
install_args << formula_name
# Don't care about e.g. bottle failures for dependencies.
install_passed = false
@@ -582,7 +589,9 @@ module Homebrew
test "brew", "install", bottle_filename
end
end
- test "brew", "test", "--verbose", formula_name if formula.test_defined?
+ shared_test_args = ["--verbose"]
+ shared_test_args << "--keep-tmp" if ARGV.keep_tmp?
+ test "brew", "test", formula_name, *shared_test_args if formula.test_defined?
testable_dependents.each do |dependent|
unless dependent.installed?
test "brew", "fetch", "--retry", dependent.name
@@ -607,11 +616,13 @@ module Homebrew
&& !ARGV.include?("--HEAD") && !ARGV.include?("--fast") \
&& satisfied_requirements?(formula, :devel)
test "brew", "fetch", "--retry", "--devel", *fetch_args
- run_as_not_developer { test "brew", "install", "--devel", "--verbose", formula_name }
+ run_as_not_developer do
+ test "brew", "install", "--devel", formula_name, *shared_install_args
+ end
devel_install_passed = steps.last.passed?
test "brew", "audit", "--devel", *audit_args
if devel_install_passed
- test "brew", "test", "--devel", "--verbose", formula_name if formula.test_defined?
+ test "brew", "test", "--devel", formula_name, *shared_test_args if formula.test_defined?
test "brew", "uninstall", "--devel", "--force", formula_name
end
end