parent
f04ffb614d
commit
a2681d196f
@ -1,3 +1,5 @@
|
|||||||
|
require "pathname"
|
||||||
|
|
||||||
require "testing_env"
|
require "testing_env"
|
||||||
require "dev-cmd/test-bot"
|
require "dev-cmd/test-bot"
|
||||||
|
|
||||||
@ -33,3 +35,65 @@ class TestbotCommandTests < Homebrew::TestCase
|
|||||||
predicate.call "ARGV"
|
predicate.call "ARGV"
|
||||||
end
|
end
|
||||||
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