375 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
2a3b7d072d Add #unstable? method for cask versions. 2019-03-27 13:48:03 +01:00
Markus Reiter
42d90f8bd9 Use same logic for installer script: and uninstall script:. 2019-03-03 06:21:11 +01:00
Mike McQuaid
17f3ee1957
Improve Bundler cleanup
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.
2019-02-27 14:02:46 +00:00
Markus Reiter
707cb33346 Add tests for Cask::Config. 2019-02-15 10:09:14 +01:00
Markus Reiter
190ff7558a Use saved cask config for reinstall/upgrade/uninstall. 2019-02-15 10:09:14 +01:00
Markus Reiter
fda6e0cab3 Split cask config into three tiers. 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
Danny Weinberg
b0124c4fb0 Cask handle already downloaded file
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
```
2019-02-01 14:57:50 -08:00
Markus Reiter
d22c2eca9e Refactor ConflictsWith to be a DelegateClass(Hash). 2019-01-27 21:48:12 +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
L. E. Segovia
5a2743b50d
Merge branch 'master' into gitjiro-improved 2018-11-24 01:01:40 +00:00
Mike McQuaid
109e974c38
Cleanup rubocop-cask references. 2018-11-08 15:54:47 +00: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
Claudia
7b320fc03b
Move shared Cask examples closer to its clients
In Cask specs, we have recently introduced a couple of specialized
`shared_examples` directories. Those new directories are organized
below their respective packages (for instance,
`cask/artifact/shared_examples` and `cask/cmd/shared_examples`).

This commit moves the rest of the shared examples accordingly.

See also:
https://github.com/Homebrew/brew/pull/5247
2018-11-06 07:19:41 +01:00
Mike McQuaid
737b84b54b
brew style --fix fixes. 2018-11-02 17:29:23 +00:00
Mike McQuaid
4231197437
Merge pull request #5119 from javian/fixtodo1
rubocop: fix some rubocop offences
2018-10-20 11:56:52 +01:00
Markus Reiter
a838b372de Fix brew cask style with relative paths. 2018-10-17 13:51:51 +02: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
L. E. Segovia
70fc2af647
Cask: fix all homepages now that they are audited 2018-10-10 21:36:06 +00:00
commitay
5024efa506
Merge pull request #5059 from commitay/remove-checkpoint
remove appcast checkpoint audit
2018-10-09 15:21:24 +10:00
Markus Reiter
711bb4977f
Merge pull request #5056 from reitermarkus/accessibility_access
Remove the `accessibility_access` stanza.
2018-10-08 18:24:18 +02:00
commitay
da7d46aa14 remove appcast checkpoint audit 2018-10-08 10:54:30 +10:00
Markus Reiter
c4d418e126 Use ActiveSupport’s #second. 2018-10-07 23:10:56 +02:00
Markus Reiter
b7cf925da8 Remove unused methods in Staged module. 2018-10-07 22:00:07 +02:00
Markus Reiter
59e3a532ff Remove the accessibility_access stanza. 2018-10-07 21:53:31 +02: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
L. E. Segovia
ab31af2b4b
Cask: fixes for quarantining
Gatekeeper's Path Randomization is currently making automated
installation a nightmare. Let's manually toggle the (undocumented) app
translocation bit in the `com.apple.quarantine` extended attribute.

While we're at it, let's also toss in some fixes:

- zip downloads with improper permissions that prevent us from
quarantining
- quarantine/release/skip downloads as requested by the user
2018-09-07 15:37:31 +00: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
Markus Reiter
cf49788d3a Rename test/cask/cli to test/cask/cmd. 2018-09-06 08:33:51 +02:00
Markus Reiter
ac2cd67861 Deprecate brew cask --version. 2018-09-06 07:05:22 +02:00
Markus Reiter
0e03b46899 Refactor Hbc::Verify. 2018-09-05 01:39:30 +02:00
Mike McQuaid
1ae2326984
Rename Cask::CLI to Cask::Cmd. 2018-09-04 09:56:58 +01:00
Mike McQuaid
1d86d7a7c7
cask: move cask/cli to cask/cmd. 2018-09-04 09:56:57 +01:00
Mike McQuaid
e06f8a8beb
Rename Homebrew-Cask to Homebrew Cask. 2018-09-04 09:56:57 +01:00
Mike McQuaid
90b3a13909
cask: move cask/lib/hbc/* to cask/*.
Fix the load path, requires and some filenames accordingly.
2018-09-04 09:56:57 +01:00
Markus Reiter
32ad22395b Remove some #popen_reads. 2018-09-04 05:16:59 +02:00
Markus Reiter
89dd608766 Deprecate gpg stanza. 2018-09-03 20:47:52 +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
Markus Reiter
fbcaa8c85a Resolve URL to get real file extension. 2018-08-31 16:51:23 +02:00
L. E. Segovia
f7cafb50ad
Enable quarantining of Homebrew-Cask's downloads 2018-08-31 13:16:11 +00:00
Markus Reiter
55cde526a8 Deprecate brew cask cleanup. 2018-08-13 20:09:34 +02:00