65 Commits

Author SHA1 Message Date
Markus Reiter
b4de801a01 Support both Homebrew and caskroom for now. 2018-05-21 01:43:49 +02:00
Mike McQuaid
5e1806e796 test: rubocop-rspec style auto-corrects.
There’s too many warnings to start enabling `rubocop-rspec` by default
but let’s at least apply the cleanups it does automatically.
2018-03-25 13:30:37 +01:00
Markus Reiter
6760d26319 Create Hbc::Config class. 2018-01-27 21:47:18 +01:00
Mike McQuaid
1f48e17f1b rubocop: fix brew style warnings. 2018-01-17 10:42:43 +00:00
Markus Reiter
a02ce4f8e9 Also remove writer method for Hbc.binarydir. 2017-12-03 10:09:09 +01:00
Markus Reiter
e4bb09dd40 Remove unused writer methods for Hbc.caskroom and Hbc.cache. 2017-12-03 09:58:01 +01:00
Bob W. Hogg
3cd869651b Add test fixtures for ELF executables
Add test/support/fixtures/elf/
and test/support/fixtures/tarballs/testball-0.1-linux.tbz
2017-11-26 08:37:57 -08:00
Markus Reiter
7e970216a3 Refactor and fix RuboCop specs. 2017-10-24 19:39:40 +02:00
Markus Reiter
9bee9ca575 Use “squiggly” heredocs. 2017-10-18 14:39:09 +02:00
Markus Reiter
97333df4cb Add helper method for Cask fixture paths and refactor CaskLoader. 2017-10-07 16:11:25 +02:00
Dan Wendorf
acf1b278ae List cask full-names
`brew cask list` supports the `--full-name` flag which will include the tap
name for casks not part of the core caskroom/cask tap. For example, if
cask "foo-beta" is installed from the caskroom/versions cask, `brew cask
list --full-name` will report the name as "caskroom/versions/foo-beta".
2017-09-16 10:00:06 -07:00
Markus Reiter
2ad3a87045 Silence all specs by default. 2017-07-29 20:25:37 +02:00
Markus Reiter
aa8eb21b8c Merge pull request #2861 from reitermarkus/cask-search-tty
Output plain list when running `brew cask search` without a TTY.
2017-07-24 00:04:43 +02:00
Mike McQuaid
8b63214c2e integration_test: try tests on Gem load failure.
This should help with debugging `Gem::LoadError`s (e.g. for
https://github.com/Homebrew/homebrew-test-bot/pull/111).
2017-07-13 17:25:34 +01:00
Mike McQuaid
cabb7e898a integration_test: add simplecov libs when needed.
Don't add these unconditionally or with Bundler to speed things up a
bit. Also, to speed things up further cache these arguments so we don't
have to do the same generation every time.
2017-07-10 07:51:04 +01:00
Markus Reiter
4e26fdfcf6 Add test for non-TTY brew cask search. 2017-07-10 00:09:32 +02:00
Markus Reiter
dccdac55a8 Add helper for testing TTY output. 2017-07-08 00:57:08 +02:00
Mike McQuaid
cb3a47d9e2 Fix brew tests on High Sierra.
The `brew test` tests were failing as they were unable to include
`test/unit/assertions`. This is because it's a gem and we were setting
the `GEM_HOME` so system gems were being ignored.

While I was there and examining the `$LOAD_PATH`: reduce the number of
things we add there by using `Bundler.with_clean_env` and only adding
`HOMEBREW_LIBRARY_PATH` in the `$LOAD_PATH` if it isn't already there
(which it always is [and has to be] for integration tests).

This also seems to have the side effect of speeding up integration
tests from 1m26s to 1m8s on my machine.
2017-07-07 15:20:19 +01:00
Mike McQuaid
c572081f8b formula_desc_cop: tweak some rules.
Allow some specific lowercase words and provide an autocorrect for some
of these rules.
2017-06-08 15:13:10 +03:00
Markus Reiter
5828eefd01 Remove to_s from some Pathnames. 2017-05-08 13:37:28 +02:00
Mike McQuaid
57db2e539e Revert "Merge pull request #2597 from MikeMcQuaid/vendor-gems"
This reverts commit 3e4547f52e7ebec633f8bfefc8a396d944edf908, reversing
changes made to 6edf9382bcc1240ad6f97c8b752cfe56cef9965d.
2017-05-07 17:28:39 +01:00
Mike McQuaid
ee253e465b Vendor all Homebrew's gems.
Homebrew's actually ended up using a fair few gems. While we want to
avoid Bundler at runtime (and this PR still does that, in fact uses
Bundler even less at runtime than it did before) writing our own version
to use at build-time seems redundant.
2017-05-07 13:52:57 +01:00
Mike McQuaid
d02b4f321d Hide sensitive tokens from install/test/post.
Hide these tokens to avoid malicious subprocesses e.g. sending them
over the network. Also, support using these tokens with environment
filtering and clear `HOMEBREW_PATH` from subprocesses to stop them
sniffing it. Finally, use `HOMEBREW_PATH` to detect Homebrew’s user’s
PATH for e.g. `brew doctor` etc.
2017-04-22 16:31:19 +01:00
Markus Reiter
b24dc2268a Move brew cask --version into separate file. 2017-03-08 15:49:37 +01:00
Markus Reiter
9fc6c7b2be Move Cask specs into brew tests. 2017-03-05 23:08:14 +01:00
Markus Reiter
b9c9f0f687 Move Cask test helpers to test/support. 2017-03-05 19:13:06 +01:00
Markus Reiter
cc4fb35ae4 Move Cask shared_examples to test/support. 2017-03-05 00:57:34 +01:00
Markus Reiter
487294f815 Remove Minitest. 2017-02-28 22:48:57 +01:00
Markus Reiter
a554902380 Add mktmpdir helper method. 2017-02-28 15:06:32 +01:00
Markus Reiter
bb18f52516 Merge pull request #2215 from reitermarkus/spec-integration-test-helper
Use `around` hook for shared "integration test" context.
2017-02-27 17:50:54 +01:00
Markus Reiter
83c1b39946 Use around hook for shared "integration test" context. 2017-02-27 16:36:02 +01:00
Markus Reiter
76acd1e6ee Convert Version test to spec. 2017-02-27 16:27:07 +01:00
Markus Reiter
004e8175c6 Add formula spec helper. 2017-02-25 13:26:50 +01:00
Markus Reiter
ec0f2187a2 Avoid warnings when HOMEBREW_PREFIX/bin is not in PATH. 2017-02-25 09:08:05 +01:00
Markus Reiter
9dda84ad6b Add integration test helper methods. 2017-02-23 09:23:22 +01:00
Markus Reiter
8bb46baebb Add RSpec support for integration commands. 2017-02-21 20:23:47 +01:00
Markus Reiter
5ec9597810 Convert OS::Mac::Keg test to spec. 2017-02-21 04:52:53 +01:00
Alyssa Ross
9e97eadccb rubocop: trailing comma in multiline method calls
Discussed in
https://github.com/Homebrew/brew/pull/1987/files#r100693581.

This was originally ommitted because it wasn't compatible with Ruby 1.8.
(See https://github.com/Homebrew/legacy-homebrew/pull/48144#r49928971).
2017-02-12 15:11:38 +00:00
Markus Reiter
cdcf362fc0 Add spec_helper. 2017-02-11 15:59:54 +01:00
Markus Reiter
9d96a5c512 Use Open3 for integration tests instead of manually forking. 2017-02-11 13:42:11 +01:00
ilovezfs
67bdeb463a Revert "Use Open3 for integration tests instead of manually forking." 2017-02-10 19:28:40 -08:00
Markus Reiter
956daf37a0 Use Open3 for integration tests instead of manually forking. 2017-02-09 17:17:48 +01:00
Markus Reiter
98b6766f4e Require formulary and tap in Homebrew::TestCase. 2017-02-03 17:27:36 +01:00
Markus Reiter
ac92144654 Add comment about FSLeakLogger to Homebrew::TestCase. 2017-02-03 17:27:36 +01:00
Markus Reiter
b765853969 Use constant array of constants in Homebrew::TestCase. 2017-02-03 17:27:36 +01:00
Markus Reiter
f35c6c8cf1 Don’t use before_setup and after_teardown. 2017-02-03 17:27:36 +01:00
Markus Reiter
e40c63f77c Use array of constants to set up test directories. 2017-02-03 17:27:36 +01:00
Alyssa Ross
62a0c3a6f5 tests: remove env helper 2017-01-23 13:39:33 +00:00
Alyssa Ross
19e61355b3 tests: remove with_git_env method
A common git environment is now used in all tests, so this is no longer
required.
2017-01-22 20:54:37 +00:00
Alyssa Ross
b53ce62ffb tests: use more recent git committer date
This will allow the `brew bundle` test to use the default git
environment.
2017-01-22 20:45:15 +00:00