diff options
| author | Andrew Janke | 2016-04-10 22:53:56 -0400 |
|---|---|---|
| committer | Andrew Janke | 2016-04-18 12:23:08 -0400 |
| commit | acc9a7ca8554bc2413dee2d6d0f407b3a59c628c (patch) | |
| tree | 4fb68e17149a73d9d123d9538e2d5fdccdd0ffd9 /Library/Homebrew/cmd/test-bot.rb | |
| parent | 0e8140b012181413438002b65290c84284721694 (diff) | |
| download | brew-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.rb | 19 |
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 |
