parent
f04ffb614d
commit
a2681d196f
@ -1,3 +1,5 @@
|
||||
require "pathname"
|
||||
|
||||
require "testing_env"
|
||||
require "dev-cmd/test-bot"
|
||||
|
||||
@ -33,3 +35,65 @@ class TestbotCommandTests < Homebrew::TestCase
|
||||
predicate.call "ARGV"
|
||||
end
|
||||
end
|
||||
|
||||
class TestbotStepTests < Homebrew::TestCase
|
||||
def run
|
||||
[nil, "1"].each do |travis|
|
||||
with_environment("TRAVIS" => travis) { super }
|
||||
end
|
||||
self
|
||||
end
|
||||
|
||||
def teardown
|
||||
unless passed?
|
||||
raise "INFO: Previous test failed with ENV['TRAVIS'] = #{ENV["TRAVIS"].inspect}"
|
||||
end
|
||||
end
|
||||
|
||||
def stub_test_instance
|
||||
stub(
|
||||
:category => "stub",
|
||||
:log_root => Pathname.pwd
|
||||
)
|
||||
end
|
||||
|
||||
def test_step_run_measures_execution_time
|
||||
step = Homebrew::Step.new stub_test_instance, %w[sleep 0.1]
|
||||
shutup do
|
||||
step.run
|
||||
end
|
||||
assert_operator step.time, :>, 0.1
|
||||
assert_operator step.time, :<, 1
|
||||
assert_equal step.passed?, true
|
||||
end
|
||||
|
||||
def test_step_run_observes_failure
|
||||
step = Homebrew::Step.new stub_test_instance, ["false", ""]
|
||||
shutup do
|
||||
step.run
|
||||
end
|
||||
assert_equal step.passed?, false
|
||||
assert_equal step.failed?, true
|
||||
end
|
||||
|
||||
def test_step_dry_run_is_dry_and_always_succeeds
|
||||
step = Homebrew::Step.new stub_test_instance, ["false", ""]
|
||||
ARGV.expects(:include?).with("--dry-run").returns(true)
|
||||
step.stubs(:fork).raises("Dry run isn't dry!")
|
||||
shutup do
|
||||
step.run
|
||||
end
|
||||
assert_equal step.passed?, true
|
||||
end
|
||||
|
||||
def test_step_fail_fast_exits_on_failure
|
||||
step = Homebrew::Step.new stub_test_instance, ["false", ""]
|
||||
ARGV.stubs(:include?).returns(false)
|
||||
ARGV.expects(:include?).with("--fail-fast").returns(true)
|
||||
step.expects(:exit).with(1).returns(nil)
|
||||
shutup do
|
||||
step.run
|
||||
end
|
||||
assert_equal step.passed?, false
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user