663 Commits

Author SHA1 Message Date
Issy Long
0b6b2f04da
cask/reinstall: Support --zap for entirely purging cask files
- The `brew uninstall` command has `--zap`, so let's make `brew
  reinstall` have parity here for a better user experience. (Requested
  in issue 12983.)
- It feels weird that to get my new reinstall test to pass I had to add
  `--zap` to `cask/cmd/install.rb`, not `cask/cmd/reinstall.rb` to get
  the tests to pass. But the `brew reinstall --cask caffeine --zap`
  command worked fine all the time. The CLI argument parser from the
  test run was complaining about not knowing what `zap` was. As a
  result, `--zap` now shows up as a switch in `brew install --help`
  which I'm not 100% convinced is the desired UX. But I've edited the
  description accordingly to specify that it will only work on
  `reinstall` operations (and `--zap` on `install` is a no-op).

```
issyl0 at pictor in /opt/homebrew on reinstall-cask-zap
❯ brew reinstall --cask caffeine --zap
==> Downloading https://github.com/IntelliScape/caffeine/releases/download/1.1.3/Caffeine.dmg
Already downloaded: /Users/issyl0/Library/Caches/Homebrew/downloads/3d6ccfdd3b8d0ab37d1c2468d6e69078c2d31d3b12bf51947c4db21e5f376af2--Caffeine.dmg
==> Implied `brew uninstall --cask caffeine`
==> Backing App 'Caffeine.app' up to '/opt/homebrew/Caskroom/caffeine/1.1.3/Caffeine.app'
==> Removing App '/Applications/Caffeine.app'
==> Dispatching zap stanza
==> Trashing files:
~/Library/Application Support/com.intelliscapesolutions.caffeine
~/Library/Preferences/com.intelliscapesolutions.caffeine.plist
~/Library/Caches/com.intelliscapesolutions.caffeine
~/Library/HTTPStoages/com.intelliscapesolutions.caffeine.binarycookies
==> Removing all staged versions of Cask 'caffeine'
==> Installing Cask caffeine
==> Moving App 'Caffeine.app' to '/Applications/Caffeine.app'
🍺  caffeine was successfully installed!
```
2022-04-09 16:37:23 +01:00
Issy Long
6b76fd012a
Fix (auto-correct) RuboCop RSpec/BeNil offenses 2022-03-01 00:10:10 +00:00
Mike McQuaid
16bdd42308
cask/dsl/version_spec: remove deprecated specs.
No idea why these didn't fail before now?
2022-02-25 15:26:37 +00:00
fn ⌃ ⌥
68160df041 cask: add #csv to version DSL 2021-11-16 16:34:12 -08:00
Bo Anderson
4836ea0ba2
Remove XQuartz handling 2021-11-05 12:40:22 +00:00
Sam Ford
77273fe2b3
Cask::Audit: Handle referenced cask in livecheck
`Cask::Audit#check_livecheck_version` was never updated to handle
a referenced cask in a `livecheck` block (e.g., `cask "other-cask"`).
As a result, this audit will wrongly give an error like `Version
'1.2.3' differs from '' retrieved by livecheck.` in this scenario.

This commit ensures that a referenced cask is handled by the audit
and it won't error when the referenced check provides a good version.
2021-11-02 12:32:38 -04:00
Mike McQuaid
41e94afda5
Fix brew style
Fixes for https://github.com/Homebrew/brew/pull/12152.

Extracted into a separate PR so this can be merged immediately.
2021-09-30 10:13:53 +01:00
Rylan Polster
c3a8b3841e
Only include differring versions
Move the resetting of `MacOS.version` to an `ensure` block.

Fix the tests by adding a test OS and new fixture that has a
different version for that test OS.
2021-08-25 10:30:38 -04:00
Misty De Meo
5d5fb944d2
List spec: fix hardcoded library path 2021-06-15 21:24:50 -07:00
Sam Ford
e8f803bc75
Cask::Audit: Handle livecheck skip conditions 2021-06-14 14:28:27 -04:00
Mike McQuaid
1462f47609
cask/cmd/uninstall_spec: delete more flaky tests.
https://github.com/Homebrew/brew/pull/11337/checks?check_run_id=2528253674
2021-05-07 16:27:52 +01:00
Mike McQuaid
4f36217838
cask/installer_spec: delete flaky test.
I see this failing every couple of days despite no changes.
2021-05-05 10:32:52 +01:00
Mike McQuaid
6f071a06f8
Use JSON.pretty_generate
It's dramatically more human readable for very little difference in
space.
2021-04-09 15:44:37 +01:00
Markus Reiter
731e25e0cc
Merge pull request #11041 from xxyzz/man
Supports .gz man page
2021-04-07 21:48:28 +02:00
Markus Reiter
ba87bfc4e4
Only suggest adding livecheck it auto-detection fails. 2021-04-07 19:19:20 +02:00
xxyzz
3c18e98432
test .gz man page 2021-04-06 16:52:56 +08:00
Markus Reiter
051d4378b1
Merge pull request #10958 from cho-m/cask-eject-apfs-dmg
cask install: fix APFS DMG eject to use physical disk
2021-04-03 20:38:12 +02:00
Michael Cho
1a398f9aaf cask install: increase APFS test sleep to avoid slow eject fail 2021-04-03 10:21:50 -07:00
Markus Reiter
72a79d934e
Fix audit annotations for casks. 2021-04-03 04:27:32 +02:00
Markus Reiter
bcb3fc111f
Merge pull request #10954 from reitermarkus/rmdir-sh
Speed up `pkg` uninstallation and only call `find` on directories.
2021-04-02 22:49:49 +02:00
Thomas
8cca00286d
Update denylist_spec.rb 2021-04-02 16:10:27 +08:00
Markus Reiter
5aa0dbe1f9
Move RMDIR_SH into separate file. 2021-04-02 03:01:08 +02:00
Markus Reiter
c07205caf2
Adjust audit spec. 2021-04-02 01:55:36 +02:00
Markus Reiter
f0ece0432d
Fix appcast spec. 2021-04-01 01:07:28 +02:00
Mike McQuaid
9b725a5851
cask/dsl/version: reject invalid characters.
There was a `invalid_characters` method already but it was not being
used.
2021-03-30 14:15:14 +01:00
Michael Cho
cf8d96e0b2 cask install: fix APFS DMG eject to use physical disk 2021-03-29 19:59:20 -07:00
Michael Cho
a0261c4b39 cask uninstall script: allow tilde expansion to '$HOME' 2021-03-28 09:52:49 -07:00
Rylan Polster
665578438b
test/cask/cmd/audit: fix tests again 2021-03-23 01:16:21 -04:00
Rylan Polster
0f9ca9dbbd
test/cask/cmd/audit: fix style 2021-03-22 22:26:22 -04:00
Rylan Polster
83ebc5ef7e
cask/audit: fix tests 2021-03-22 22:20:03 -04:00
Bo Anderson
8e98ce69f3
Stricter handling of CLI args 2021-03-18 16:41:57 +00:00
Bo Anderson
a8522c6db6
test/cask/audit_spec: add test for slashes in versions 2021-03-17 14:25:50 +00:00
Markus Reiter
1a4874dc62 Simplify package uninstallation. 2021-03-16 03:00:14 +01:00
Cassidy Marble
267040e5df
bugfix: Add args and options to lazy url block 2021-03-12 10:26:59 -07:00
Issy Long
5793be5b86
test: Change more contexts to describes for better sentences
- We could have added "to" to the `RSpec/ContextWording` list of valid
  `context` prefixes, but switching these to `describe` is less special.
2021-02-21 13:31:26 +00:00
Issy Long
e1ad07190e
rubocop: Fix RSpec/ContextWording offenses
- For some of these I changed `context` to `describe` as it fit better
  rather than contriving a "when", "with" or "without", or massively
  restructuring the tests.
2021-02-19 23:30:41 +00:00
Bo Anderson
323ff660fa rubocop: use consistent array/hash indentation 2021-02-11 13:27:42 +00:00
Carlos Álvaro
65d5c11f15
Update list_spec.rb for cask full_name 2021-02-08 13:20:41 +01:00
Carlos Álvaro
84d80cf0bf
Add tap to cask json output 2021-02-08 13:20:40 +01:00
Carlos Álvaro
4f5f3824c6
Add full_token to cask json output 2021-02-08 13:20:40 +01:00
Rylan Polster
3b8fa5a7af
Merge pull request #10466 from Rylan12/rubocop-reduce-todo
Reduce rubocop violations in tests
2021-02-02 08:23:36 -05:00
Rylan Polster
af40e072b0
style: remove RSpec/NamedSubject violations 2021-02-01 20:30:51 -05:00
EricFromCanada
f39fb5d6b2 cask/config: new method for cask.config.explicit as string 2021-02-01 10:44:19 -05:00
Mike McQuaid
d6957a3acb
Homebrew 3.0.0 deprecations/disables 2021-01-29 19:50:24 +00:00
Mike McQuaid
03c861b7d7
Merge pull request #10428 from SeekingMeaning/cask-reverse-migration
cask/audit: disallow new cask to have token in tap_migrations.json
2021-01-27 15:07:13 +00:00
EricFromCanada
6fc116318e fixes for grammar and wording 2021-01-26 16:19:47 -05:00
EricFromCanada
99ad3350ee use single quotes around stanza and parameter names 2021-01-26 16:19:47 -05:00
EricFromCanada
cd3cb6928b indent suggested commands on subsequent line
and combine sequential puts calls
2021-01-26 15:36:44 -05:00
EricFromCanada
a427de5bee capitalization fixes
"curl" is the binary, while "cURL" is the umbrella project.
2021-01-26 15:36:44 -05:00
Seeker
c1d2aaf13a cask/audit: disallow new cask to have token in tap_migrations.json 2021-01-26 08:33:14 -08:00