blob: 35507279109b45e496b5136d292bc711daae7b39 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
  | 
require 'extend/ENV'
require 'hardware'
require 'keg'
module Homebrew extend self
  def test
    raise FormulaUnspecifiedError if ARGV.named.empty?
    ENV.extend(HomebrewEnvExtension)
    ENV.setup_build_environment
    ARGV.formulae.each do |f|
      # Cannot test uninstalled formulae
      unless f.installed?
        ofail "Testing requires the latest version of #{f.name}"
        next
      end
      # Cannot test formulae without a test method
      unless f.test_defined?
        ofail "#{f.name} defines no test"
        next
      end
      puts "Testing #{f.name}"
      begin
        # tests can also return false to indicate failure
        raise if f.test == false
      rescue
        ofail "#{f.name}: failed"
      end
    end
  end
end
  |