Test against real CompilerFailure objects

This commit is contained in:
Jack Nagel 2014-08-30 23:11:02 -05:00
parent b4a634903e
commit 842b051aa7

View File

@ -11,11 +11,12 @@ class CompilerSelectorTests < Homebrew::TestCase
end end
def <<(cc) def <<(cc)
@failures << cc @failures << CompilerFailure.create(cc)
self
end end
def fails_with?(cc) def fails_with?(compiler)
@failures.include?(cc.name) @failures.any? { |failure| failure === compiler }
end end
end end
@ -48,7 +49,7 @@ class CompilerSelectorTests < Homebrew::TestCase
end end
def test_all_compiler_failures def test_all_compiler_failures
@f << :clang << :llvm << :gcc << 'gcc-4.8' @f << :clang << :llvm << :gcc << { :gcc => "4.8" }
assert_raises(CompilerSelectionError) { actual_cc } assert_raises(CompilerSelectionError) { actual_cc }
end end
@ -72,7 +73,7 @@ class CompilerSelectorTests < Homebrew::TestCase
end end
def test_fails_with_non_apple_gcc def test_fails_with_non_apple_gcc
@f << "gcc-4.8" @f << { :gcc => "4.8" }
assert_equal :clang, actual_cc assert_equal :clang, actual_cc
end end
@ -82,7 +83,7 @@ class CompilerSelectorTests < Homebrew::TestCase
end end
def test_mixed_failures_2 def test_mixed_failures_2
@f << :gcc << :clang << 'gcc-4.8' @f << :gcc << :clang << { :gcc => "4.8" }
assert_equal :llvm, actual_cc assert_equal :llvm, actual_cc
end end
@ -92,13 +93,13 @@ class CompilerSelectorTests < Homebrew::TestCase
end end
def test_mixed_failures_4 def test_mixed_failures_4
@f << :clang << "gcc-4.8" @f << :clang << { :gcc => "4.8" }
assert_equal :gcc, actual_cc assert_equal :gcc, actual_cc
end end
def test_older_clang_precedence def test_older_clang_precedence
@versions = CompilerVersions.new(:clang_build_version => 211) @versions = CompilerVersions.new(:clang_build_version => 211)
@f << :gcc << 'gcc-4.8' @f << :gcc << { :gcc => "4.8" }
assert_equal :llvm, actual_cc assert_equal :llvm, actual_cc
end end
@ -108,8 +109,8 @@ class CompilerSelectorTests < Homebrew::TestCase
end end
def test_missing_gcc def test_missing_gcc
@versions = CompilerVersions.new( :gcc_build_version => nil) @versions = CompilerVersions.new(:gcc_build_version => nil)
@f << :clang << :llvm << 'gcc-4.8' @f << :clang << :llvm << { :gcc => "4.8" }
assert_raises(CompilerSelectionError) { actual_cc } assert_raises(CompilerSelectionError) { actual_cc }
end end
@ -118,7 +119,7 @@ class CompilerSelectorTests < Homebrew::TestCase
:gcc_build_version => nil, :gcc_build_version => nil,
:llvm_build_version => nil :llvm_build_version => nil
) )
@f << :clang << 'gcc-4.8' @f << :clang << { :gcc => "4.8" }
assert_raises(CompilerSelectionError) { actual_cc } assert_raises(CompilerSelectionError) { actual_cc }
end end
end end