Print error message with suggestions if header parse failed

This commit is contained in:
Josh Hagins
2016-01-04 17:40:51 -05:00
parent 7229e7edbf
commit 3058ed94ab
4 changed files with 6 additions and 2 deletions
+1
View File
@@ -116,6 +116,7 @@ class Hbc::CLI
run_command(command, *rest)
rescue Hbc::CaskError, Hbc::CaskSha256MismatchError => e
onoe e
puts Hbc::Utils.error_message_with_suggestions if e.is_a?(Hbc::CaskHeaderParseError)
$stderr.puts e.backtrace if Hbc.debug
exit 1
rescue StandardError, ScriptError, NoMemoryError => e
+3
View File
@@ -126,6 +126,9 @@ class Hbc::CaskInvalidError < Hbc::CaskError
end
end
class Hbc::CaskHeaderParseError < Hbc::CaskInvalidError
end
class Hbc::CaskSha256MissingError < ArgumentError
end
+1 -1
View File
@@ -55,7 +55,7 @@ class Hbc::Source::PathBase
raise Hbc::CaskInvalidError.new(cask_token, "Bad header line: '#{header_token}' does not match file name")
end
else
raise Hbc::CaskInvalidError.new(cask_token, "Bad header line: parse failed")
raise Hbc::CaskHeaderParseError.new(cask_token, "Bad header line: parse failed")
end
# simulate "require"
+1 -1
View File
@@ -48,7 +48,7 @@ describe Hbc::DSL do
it "requires a valid header format" do
err = lambda {
invalid_cask = Hbc.load('invalid/invalid-header-format')
}.must_raise(Hbc::CaskInvalidError)
}.must_raise(Hbc::CaskHeaderParseError)
err.message.must_include 'Bad header line: parse failed'
end