50 Commits

Author SHA1 Message Date
Mike McQuaid
75257886f2
Cleanup some RSpec tests
Fix some Rubocop RSpec checks, update some values and improve
documentation.
2019-03-28 19:16:56 +00:00
Markus Reiter
42d90f8bd9 Use same logic for installer script: and uninstall script:. 2019-03-03 06:21:11 +01:00
Markus Reiter
190ff7558a Use saved cask config for reinstall/upgrade/uninstall. 2019-02-15 10:09:14 +01:00
Markus Reiter
1e1ce1c471 Save config file for casks. 2019-02-15 10:09:14 +01:00
Mike McQuaid
3060125c45
rubocop: autofix problems. 2019-02-11 09:50:09 +00:00
Markus Reiter
0fcc62db31 Run uninstall rmdir: after uninstalling artifacts. 2019-02-08 01:09:48 +01:00
Mike McQuaid
5c7fbaf259
Update RuboCop RSpec rules
Create a new, seperate RuboCop file that uses our RSpec rule
configuration if a specified tap has a `spec` directory.

Also, while we're here, fix up the various rules so that we don't have
any outdated TODOs, disable some rules for good and fix `brew style`
for Homebrew/bundle.
2019-01-21 13:39:11 +00:00
Claudia
5be80a78f6
Use Homebrew-controlled domain for Cask dummy URLs
In a number of Cask specs, the value of the `homepage` stanza is currently set
to https://example.com. As of 2018-11-28, the TLS certificate served by
example.com seems to be expired, possibly due to an oversight on ICANN’s side.

While the certificate is certainly going to be renewed soon, it would be
desirable for Homebrew’s test result to be less dependent on ICANN’s actions.
This commit changes the homepages of all test Casks to http://brew.sh, whose
domain and TLS certificate are both controlled by Homebrew.
2018-11-28 20:51:55 +01:00
Claudia
35b8c3d6e2
Increase timeout tolerance.
Co-Authored-By: reitermarkus <me@reitermark.us>
2018-11-07 21:13:12 +01:00
Markus Reiter
785ffb1b2c Refactor tests for uninstall stanza. 2018-11-07 18:44:52 +01:00
Markus Reiter
f61b963744 Improve application quitting. 2018-11-07 18:44:52 +01:00
Mike McQuaid
737b84b54b
brew style --fix fixes. 2018-11-02 17:29:23 +00:00
Jan Viljanen
96e5b8d9b1 fix rubocop offences 2018-10-16 22:44:07 +02:00
Alec Clarke
3a8e87134b Use the all matcher to check the existence of each path.
This change allows us to remove the `RSpec/IteratedExpectation` rule from `.rubocop_todo.yml` as we no longer iterate over each path to check existence.

Note: We this PR didn't change the subsequent test checking for the negative expectations as this isn't part of the rule (see: https://github.com/rubocop-hq/rubocop-rspec/issues/278).
2018-10-13 07:23:57 -07:00
Markus Reiter
2308f0c571 Skip quitting applications when not logged into GUI. 2018-10-02 16:27:45 +02:00
Mike McQuaid
78eba5b815
Autofix RuboCop RSpec failures 2018-09-20 13:36:42 +01:00
Markus Reiter
a84a1c63db Rename Hbc module to Cask. 2018-09-06 09:30:52 +02:00
Markus Reiter
78d4db2755 Use classes for instance doubles. 2018-09-06 09:13:21 +02:00
Mike McQuaid
bcb1ec5499
Improve Homebrew/brew line length.
Use 124 max line length everywhere. Also, reduce tap max line length to
189 as Homebrew/homebrew-core has that as a maximum now. In future
Homebrew/homebrew-core will also be reduced to 124 maximum line length.
2018-09-02 16:15:09 +01:00
Reto Kromer
456571b15d fix more insecure protocols 2018-08-06 16:50:42 +02:00
Markus Reiter
eccd20e276 Merge Hbc::Container classes into UnpackStrategy. 2018-07-24 16:44:27 +02:00
Markus Reiter
28384ba518 Rename Hbc::SystemCommand to SystemCommand. 2018-07-22 21:11:47 +02:00
Mike McQuaid
459e2bfa48
Merge pull request #4455 from reitermarkus/heredocs
Use more descriptive heredoc names.
2018-07-12 09:30:35 +01:00
Markus Reiter
7762ce32aa Use more descriptive heredoc names. 2018-07-11 18:15:30 +02:00
Markus Reiter
05cb6cda08 Add Installer spec. 2018-07-11 16:46:33 +02:00
Claudia
3dbb735f3c
Fix PKG installer environment
This commit solves an issue where the environment handed to
`/usr/sbin/installer` is not the same as the environment used by the
graphical PKG installer.

This is evident in some post-install scripts, e. g. the
`component-10.pkg/Scripts/postinstall` script in the `dymo-label`
cask. The code says:

```
USER_ID=`id -u ${USER}`

launchctl bootstrap gui/$USER_ID /Library/LaunchAgents/com.dymo.dls.webservice.plist
```

The graphical installer will export e. g. `USER=alice`, and
everything works as intended.

However, `brew cask install` does not override `sudo`’s default,
which is `USER=ROOT`. This violates the assumptions in the script.

This commit fixes the issue by configuring `sudo` to override the
following environment variables with the proper user name:

- `LOGNAME`
- `USER`
- `USERNAME`
2018-07-06 09:38:00 +02:00
Markus Reiter
791af7e910 Move invalid Cask fixtures into sub-directories. 2018-04-14 11:44:19 +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
Markus Reiter
a02ce4f8e9 Also remove writer method for Hbc.binarydir. 2017-12-03 10:09:09 +01:00
Markus Reiter
9bee9ca575 Use “squiggly” heredocs. 2017-10-18 14:39:09 +02:00
Markus Reiter
5cbf8bdaa7 Merge pull request #3283 from reitermarkus/cask-loader
Add helper method for Cask fixture paths and refactor CaskLoader.
2017-10-07 18:30:32 +02:00
Markus Reiter
97333df4cb Add helper method for Cask fixture paths and refactor CaskLoader. 2017-10-07 16:11:25 +02:00
Markus Reiter
e9c587d751 Refactor tests. 2017-10-04 18:52:34 +02:00
Markus Reiter
51a0de6368 Directly save artifacts in DSL. 2017-10-04 18:47:55 +02:00
Markus Reiter
3bb89f5440 Only run trash test when collecting coverage. 2017-10-01 22:26:04 +02:00
Markus Reiter
53ecdd843f Treat every Artifact instance as a single artifact. 2017-09-10 23:12:32 +02:00
Markus Reiter
2ad3a87045 Silence all specs by default. 2017-07-29 20:25:37 +02:00
Markus Reiter
f24fc42362 🔥 Remove test files after trashing. 2017-06-24 09:15:37 +02:00
Mike McQuaid
7d5b8a5cea tests: cleanup tests.
Remove pending tests that are never run on CI (i.e. require `--online`),
remove fixtures for those tests and just make `--official-cmd-taps`
run by `--online` instead.
2017-06-07 16:25:07 +01:00
Markus Reiter
9e821863d0 Pass along CLI::Binaries. 2017-05-22 02:51:16 +02:00
Markus Reiter
5c51c4e23b Fix test for chmod +x on binaries. 2017-04-21 14:52:35 +02:00
Markus Reiter
2b4c3ee1d7 Default to sudo: false for installer/uninstall :script. 2017-03-13 11:38:37 +01:00
Markus Reiter
9393b16930 Fix uninstall :pkgutil leaving empty .app directories. 2017-03-11 10:47:39 +01:00
Markus Reiter
621b67e531 Refactor artifacts. 2017-03-10 09:44:50 +01:00
Markus Reiter
b38c52f930 Merge pull request #2289 from reitermarkus/cask-refactor-uninstall
Refactor `pkg`, `uninstall`, and `zap` artifacts.
2017-03-08 20:03:56 +01:00
Markus Reiter
88bc68f3b5 Always chmod +x binary stanzas. 2017-03-08 16:49:28 +01:00
Markus Reiter
2691eb6f65 Refactor Cask uninstall and zap stanza. 2017-03-08 08:16:16 +01:00
Markus Reiter
3b8524d770 Refactor CLI options. 2017-03-07 00:06:34 +01:00
Markus Reiter
9fc6c7b2be Move Cask specs into brew tests. 2017-03-05 23:08:14 +01:00