Add failing tests for `SystemCommand`
This commit is contained in:
parent
1ddbf0e72e
commit
c3266d38ce
|
@ -0,0 +1,62 @@
|
|||
require 'test_helper'
|
||||
|
||||
describe Cask::SystemCommand do
|
||||
describe "when the exit code is 0" do
|
||||
result = nil
|
||||
|
||||
before do
|
||||
command = '/usr/bin/true'
|
||||
options = {
|
||||
:must_succeed => false
|
||||
}
|
||||
result = Cask::SystemCommand.run(command, options)
|
||||
end
|
||||
|
||||
it "says the command was successful" do
|
||||
result.success?.must_equal(true)
|
||||
end
|
||||
|
||||
it "says the exit status is 0" do
|
||||
result.exit_status.must_equal(0)
|
||||
end
|
||||
end
|
||||
|
||||
describe "when the exit code is 1" do
|
||||
before do
|
||||
# See: https://bugs.ruby-lang.org/issues/1287
|
||||
skip("Ruby 1.8.7 doesn’t see exit statuses") if TestHelper.ruby18?
|
||||
end
|
||||
|
||||
describe "and the command must succeed" do
|
||||
it "throws an error" do
|
||||
lambda {
|
||||
command = '/usr/bin/false'
|
||||
options = {
|
||||
:must_succeed => true
|
||||
}
|
||||
result = Cask::SystemCommand.run(command, options)
|
||||
}.must_raise(CaskCommandFailedError)
|
||||
end
|
||||
end
|
||||
|
||||
describe "and the command does not have to succeed" do
|
||||
result = nil
|
||||
|
||||
before do
|
||||
command = '/usr/bin/false'
|
||||
options = {
|
||||
:must_succeed => false
|
||||
}
|
||||
result = Cask::SystemCommand.run(command, options)
|
||||
end
|
||||
|
||||
it "says the command failed" do
|
||||
result.success?.must_equal(false)
|
||||
end
|
||||
|
||||
it "says the exit status is 1" do
|
||||
result.exit_status.must_equal(1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -18,8 +18,7 @@ describe "Syntax check" do
|
|||
|
||||
# Reason for this hack is unknown. Travis appears to freeze,
|
||||
# but only in one section of the build matrix.
|
||||
skip if ENV.key?('TRAVIS_JOB_ID') and
|
||||
RUBY_VERSION.match(%r{^1\.8})
|
||||
skip if ENV.key?('TRAVIS_JOB_ID') and TestHelper.ruby18?
|
||||
|
||||
args = flags + [ '--', file ]
|
||||
shutup do
|
||||
|
|
|
@ -111,6 +111,10 @@ class TestHelper
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.ruby18?
|
||||
RUBY_VERSION.match(%r{^1\.8})
|
||||
end
|
||||
end
|
||||
|
||||
require 'support/fake_fetcher'
|
||||
|
|
Loading…
Reference in New Issue