Merge pull request #2133 from reitermarkus/spec-test
Convert `brew test` test to spec.
This commit is contained in:
commit
e25b3e60cb
56
Library/Homebrew/test/dev-cmd/test_spec.rb
Normal file
56
Library/Homebrew/test/dev-cmd/test_spec.rb
Normal file
@ -0,0 +1,56 @@
|
||||
describe "brew test", :integration_test do
|
||||
it "fails when no argument is given" do
|
||||
expect { brew "test" }
|
||||
.to output(/This command requires a formula argument/).to_stderr
|
||||
.and not_to_output.to_stdout
|
||||
.and be_a_failure
|
||||
end
|
||||
|
||||
it "fails when a Formula is not installed" do
|
||||
expect { brew "test", testball }
|
||||
.to output(/Testing requires the latest version of testball/).to_stderr
|
||||
.and not_to_output.to_stdout
|
||||
.and be_a_failure
|
||||
end
|
||||
|
||||
it "fails when a Formula has no test" do
|
||||
shutup do
|
||||
expect { brew "install", testball }.to be_a_success
|
||||
end
|
||||
|
||||
expect { brew "test", testball }
|
||||
.to output(/testball defines no test/).to_stderr
|
||||
.and not_to_output.to_stdout
|
||||
.and be_a_failure
|
||||
end
|
||||
|
||||
it "tests a given Formula" do
|
||||
setup_test_formula "testball", <<-EOS.undent
|
||||
head "https://github.com/example/testball2.git"
|
||||
|
||||
devel do
|
||||
url "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz"
|
||||
sha256 "#{TESTBALL_SHA256}"
|
||||
end
|
||||
|
||||
keg_only "just because"
|
||||
|
||||
test do
|
||||
end
|
||||
EOS
|
||||
|
||||
shutup do
|
||||
expect { brew "install", "testball" }.to be_a_success
|
||||
end
|
||||
|
||||
expect { brew "test", "--HEAD", "testball" }
|
||||
.to output(/Testing testball/).to_stdout
|
||||
.and not_to_output.to_stderr
|
||||
.and be_a_success
|
||||
|
||||
expect { brew "test", "--devel", "testball" }
|
||||
.to output(/Testing testball/).to_stdout
|
||||
.and not_to_output.to_stderr
|
||||
.and be_a_success
|
||||
end
|
||||
end
|
||||
@ -1,30 +0,0 @@
|
||||
require "testing_env"
|
||||
|
||||
class IntegrationCommandTestTestFormula < IntegrationCommandTestCase
|
||||
def test_test_formula
|
||||
assert_match "This command requires a formula argument", cmd_fail("test")
|
||||
assert_match "Testing requires the latest version of testball",
|
||||
cmd_fail("test", testball)
|
||||
|
||||
cmd("install", testball)
|
||||
assert_match "testball defines no test", cmd_fail("test", testball)
|
||||
|
||||
setup_test_formula "testball_copy", <<-EOS.undent
|
||||
head "https://github.com/example/testball2.git"
|
||||
|
||||
devel do
|
||||
url "file://#{TEST_FIXTURE_DIR}/tarballs/testball-0.1.tbz"
|
||||
sha256 "#{TESTBALL_SHA256}"
|
||||
end
|
||||
|
||||
keg_only "just because"
|
||||
|
||||
test do
|
||||
end
|
||||
EOS
|
||||
|
||||
cmd("install", "testball_copy")
|
||||
assert_match "Testing testball_copy", cmd("test", "--HEAD", "testball_copy")
|
||||
assert_match "Testing testball_copy", cmd("test", "--devel", "testball_copy")
|
||||
end
|
||||
end
|
||||
Loading…
x
Reference in New Issue
Block a user