'cask upgrade' command collects all exceptions thrown
from individual casks during the upgrade process. If
there were more than one cask that raised exceptions
during the upgrade process, a MultipleCaskErrors
exception will be thrown.
Issue #5203
When GCC is used (default for Linux), we should prefer the gcc offered
by the gcc formula. As such even if users install a gcc with higher
version from `gcc@*` formula, it will not be picked up to build other
formulae. This would also allow users to safely delete `gcc@*` formula.
Closes#5953.
Integration tests are useful in detecting breakages but much slower so
let's only use one per command and install formula outside the
integration test framework (which is also slow).
- get_info builds info string by appending helper functions
- removed unnecessary returns
- fixed indentation in missing_formula
- reduced size of regex in info_spec
- missing_formula will indicate when it finds a cask with same name
Rather than trying to be smart and doing this ourselves in `brew cleanup` let’s just installed Bundler somewhere it doesn’t try to clean itself up and use `bundle install --cleanup` when we need cleanup done.
Also, use `ohai` and `odie` when possible as they look nicer.
- search_for_cask in missing_formula renamed to is_a_cask_reason
- is_a_cask calls new getInfo method in cask/cmd/info.rb to return info
string
- self.info in info.rb now calls getInfo and puts return value
- added ohai_title to return the ohai printout for only titles, so that
ohai printout could be added to the getInfo return string without
calling puts.
- refactored ohai to use ohai_title
- updated info_spec.rb cask info test to be more specific when
matching stderr.
- is_a_cask_reason will respect 'silent'
- refactored print_caveats to return instead of print
Set the environment variable USER=root which is required by
brew tests --only=utils/user
Fix these tests:
rspec ./test/diagnostic_checks_spec.rb:26 # Homebrew::Diagnostic::Checks #check_access_directories
rspec ./test/pathname_spec.rb:120 # Pathname#ensure_writable makes a file writable and restores permissions
rspec ./test/utils/user_spec.rb:22 # User#gui? when the current user is in a console session gui? should equal true
rspec ./test/utils/user_spec.rb:6 # User should eq nil
The current logic for curl_download tries to restart any existing
partial download, but this fails for some servers when the file is
already fully downloaded, returning a status code 416. This updates the
function to check for the file being already downloaded and if so bails
early.
The following command used to fail when run more than once but now works
as expected:
```
brew cask info https://raw.githubusercontent.com/homebrew/homebrew-cask/master/Casks/docker.rb
```