diff options
| author | Jack Nagel | 2014-09-18 15:50:54 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-09-18 15:50:54 -0500 |
| commit | 04dae13ae7f014acf3a3300536546c7e12845884 (patch) | |
| tree | 92a807e7a0c8d8e8d1ce47afbcb2500afc47be34 /Library/Homebrew/test | |
| parent | 288c7974dc6710738d9e92e1b0fb04e632e36d1b (diff) | |
| download | brew-04dae13ae7f014acf3a3300536546c7e12845884.tar.bz2 | |
Replace CompilerQueue with predetermined priority lists
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/test_compiler_queue.rb | 38 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_compiler_selector.rb | 45 |
2 files changed, 24 insertions, 59 deletions
diff --git a/Library/Homebrew/test/test_compiler_queue.rb b/Library/Homebrew/test/test_compiler_queue.rb deleted file mode 100644 index 16d3d3479..000000000 --- a/Library/Homebrew/test/test_compiler_queue.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'testing_env' -require 'compilers' - -class CompilerQueueTests < Homebrew::TestCase - FakeCompiler = Struct.new(:name, :priority) - - def setup - @q = CompilerQueue.new - end - - def test_shovel_returns_self - assert_same @q, @q << Object.new - end - - def test_empty - assert_empty @q - end - - def test_queues_items - a = FakeCompiler.new(:foo, 0) - b = FakeCompiler.new(:bar, 0) - @q << a << b - assert_equal a, @q.pop - assert_equal b, @q.pop - assert_nil @q.pop - end - - def test_pops_items_by_priority - a = FakeCompiler.new(:foo, 0) - b = FakeCompiler.new(:bar, 0.5) - c = FakeCompiler.new(:baz, 1) - @q << a << b << c - assert_equal c, @q.pop - assert_equal b, @q.pop - assert_equal a, @q.pop - assert_nil @q.pop - end -end diff --git a/Library/Homebrew/test/test_compiler_selector.rb b/Library/Homebrew/test/test_compiler_selector.rb index 413e92657..a4a2986a0 100644 --- a/Library/Homebrew/test/test_compiler_selector.rb +++ b/Library/Homebrew/test/test_compiler_selector.rb @@ -14,17 +14,18 @@ class CompilerSelectorTests < Homebrew::TestCase attr_accessor :gcc_4_0_build_version, :gcc_build_version, :llvm_build_version, :clang_build_version - def initialize(versions={}) - { - :gcc_4_0_build_version => nil, - :gcc_build_version => 5666, - :llvm_build_version => 2336, - :clang_build_version => 425, - }.merge(versions).each { |k, v| instance_variable_set("@#{k}", v) } + def initialize + @gcc_4_0_build_version = nil + @gcc_build_version = 5666 + @llvm_build_version = 2336 + @clang_build_version = 425 end def non_apple_gcc_version(name) - name == "gcc-4.8" ? "4.8.1" : nil + case name + when "gcc-4.8" then "4.8.1" + when "gcc-4.7" then "4.7.1" + end end end @@ -32,14 +33,17 @@ class CompilerSelectorTests < Homebrew::TestCase @f = Double.new @cc = :clang @versions = CompilerVersions.new + @selector = CompilerSelector.new( + @f, @versions, [:clang, :gcc, :llvm, :gnu] + ) end def actual_cc - CompilerSelector.new(@f, @versions).compiler + @selector.compiler end def test_all_compiler_failures - @f << :clang << :llvm << :gcc << { :gcc => "4.8" } + @f << :clang << :llvm << :gcc << { :gcc => "4.8" } << { :gcc => "4.7" } assert_raises(CompilerSelectionError) { actual_cc } end @@ -68,17 +72,17 @@ class CompilerSelectorTests < Homebrew::TestCase end def test_mixed_failures_1 - @f << :clang << :llvm - assert_equal :gcc, actual_cc + @f << :clang << :gcc + assert_equal :llvm, actual_cc end def test_mixed_failures_2 - @f << :gcc << :clang << { :gcc => "4.8" } - assert_equal :llvm, actual_cc + @f << :clang << :llvm + assert_equal :gcc, actual_cc end def test_mixed_failures_3 - @f << :llvm << :gcc + @f << :gcc << :llvm assert_equal :clang, actual_cc end @@ -87,10 +91,9 @@ class CompilerSelectorTests < Homebrew::TestCase assert_equal :gcc, actual_cc end - def test_older_clang_precedence - @versions.clang_build_version = 211 - @f << :gcc << { :gcc => "4.8" } - assert_equal :llvm, actual_cc + def test_mixed_failures_5 + @f << :clang << :gcc << :llvm << { :gcc => "4.8" } + assert_equal "gcc-4.7", actual_cc end def test_llvm_precedence @@ -100,13 +103,13 @@ class CompilerSelectorTests < Homebrew::TestCase def test_missing_gcc @versions.gcc_build_version = nil - @f << :clang << :llvm << { :gcc => "4.8" } + @f << :clang << :llvm << { :gcc => "4.8" } << { :gcc => "4.7" } assert_raises(CompilerSelectionError) { actual_cc } end def test_missing_llvm_and_gcc @versions.gcc_build_version = @versions.llvm_build_version = nil - @f << :clang << { :gcc => "4.8" } + @f << :clang << { :gcc => "4.8" } << { :gcc => "4.7" } assert_raises(CompilerSelectionError) { actual_cc } end end |
