Merge pull request #2133 from reitermarkus/spec-test

Convert `brew test` test to spec.
This commit is contained in:
Markus Reiter 2017-02-25 03:25:01 +01:00 committed by GitHub
commit e25b3e60cb
2 changed files with 56 additions and 30 deletions

View 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

View File

@ -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