Skip to content
Snippets Groups Projects
Unverified Commit 2550af57 authored by nandahkrishna's avatar nandahkrishna
Browse files

livecheck: changes made and improved test

parent 4e0cc48b
No related branches found
No related tags found
No related merge requests found
......@@ -102,8 +102,9 @@ module Homebrew
latest = Version.new(m[1])
end
# A HEAD-only formula is outdated when the latest commit hash and installed commit hash differ
is_outdated = if formula.head?
# A HEAD-only formula is considered outdated if the latest upstream
# commit hash is different than the installed version's commit hash
(current != latest)
else
(current < latest)
......@@ -148,7 +149,7 @@ module Homebrew
end
end
if [args.newer_only?, !has_a_newer_upstream_version, !args.json?, !args.debug?].all?
if args.newer_only? && !has_a_newer_upstream_version && !args.debug? && !args.json?
puts "No newer upstream versions."
end
......@@ -167,7 +168,7 @@ module Homebrew
formula: formula_name(formula, args: args),
status: status_str,
}
status_hash[:messages] = messages.presence
status_hash[:messages] = messages if messages.is_a?(Array)
if args.verbose?
status_hash[:meta] = {
......@@ -273,7 +274,7 @@ module Homebrew
# @return [String]
def preprocess_url(url)
# Check for GitHub repos on github.com, not AWS
url.sub!("github.s3.amazonaws.com", "github.com") if url.include?("github")
url = url.sub("github.s3.amazonaws.com", "github.com") if url.include?("github")
# Use repo from GitHub or GitLab inferred from download URL
if url.include?("github.com") && GITHUB_SPECIAL_CASES.none? { |sc| url.include? sc }
......
......@@ -13,7 +13,7 @@ describe Homebrew::Livecheck do
head "https://github.com/Homebrew/brew.git"
livecheck do
url(+"https://github.s3.amazonaws.com/Homebrew/brew/releases/latest")
url "https://github.s3.amazonaws.com/Homebrew/brew/releases/latest"
regex(%r{href=.*?/tag/v?(\d+(?:\.\d+)+)["' >]}i)
end
end
......@@ -80,11 +80,11 @@ describe Homebrew::Livecheck do
describe "::status_hash" do
it "returns a hash containing the livecheck status" do
expect(livecheck.status_hash(f, "blah", ["blah"], args: args))
expect(livecheck.status_hash(f, "error", ["Unable to get versions"], args: args))
.to eq({
formula: "test",
status: "blah",
messages: ["blah"],
status: "error",
messages: ["Unable to get versions"],
meta: {
livecheckable: true,
},
......@@ -146,12 +146,13 @@ describe Homebrew::Livecheck do
describe "::livecheck_formulae", :needs_network do
it "checks for the latest versions of the formulae" do
allow(args).to receive(:debug?).and_return(false)
allow(args).to receive(:debug?).and_return(true)
allow(args).to receive(:newer_only?).and_return(false)
expect { livecheck.livecheck_formulae([f], args) }
.to output(/test : 0\.0\.1 ==> (\d+(?:\.\d+)+)/im).to_stdout
.and not_to_output.to_stderr
expectation = expect { livecheck.livecheck_formulae([f], args) }
expectation.to output(/Strategy:.*PageMatch/).to_stdout
expectation.to output(/test : 0\.0\.1 ==> (\d+(?:\.\d+)+)/).to_stdout
.and not_to_output.to_stderr
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment