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