This is really, really slow at the moment for a few reasons:
- it goes through the list of revisions twice
- it checks many more revisions than it needs to
Even after these improvements it's still by far the slowest audit so
am also making it a `--git` only audit.
Additionally, to further improve default `brew audit` performance do not
run `brew style` checks when doing `brew audit` with no arguments.
`brew style` can be run quickly and efficiently on all of a tap (and is
cached) so no need to duplicate it here.
- Depending on context, I've gone for either "denylist" or "disallow"
here. "Disallow" for things in sentences, or actions, and "denylist"
for list of things.
This will allow `brew style` and `brew audit` to be run separately
without providing duplicates.
Additionally, run RuboCop style rules when `--strict` isn't provided and
remove a confusing reference to `style`.
- Migrate the existing binary URL audit to a RuboCop.
- Check resources as well as main URLs
- Also check for "macos" and "osx" in URLs
- Add whitelists for URLs and formulae
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.
These tests cover a few aspects of the `FormulaAuditor#audit_deps`
method. The main focus is the part where FormulaAuditor checks for
dependencies on formulas which are tagged `keg_only` with the
`:provided_by_macos` reason.
For this particular kind of `keg_only` formulas, we expect
`brew audit --new-formula` to fail with a problem message like:
> Dependency 'bc' may be unnecessary as it is provided by
> macOS; try to build this formula without it.
For more details, see the relevant discussion:
[1] https://github.com/Homebrew/homebrew-core/pull/14067#issuecomment-335046151
[2] https://github.com/Homebrew/brew/pull/3290#issuecomment-335052140
Another attempt at fixing `brew audit` issues around detecting
`revision` and `version_scheme` changes correctly. First done in #1754
and #2086 (reverted in #2099 and #2100).
To ease future debugging a `ph` helper has been added to print a hash
and a series of RSpec tests to verify that the `revision`,
`version_scheme` and `version` formula version audits behave as
expected.
Fixes#1731.