aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Nagel2014-08-31 13:40:51 -0500
committerJack Nagel2014-08-31 13:40:51 -0500
commit1abb2b04e24bde05a169f8ab0e65dcc1a0247179 (patch)
tree6b87a9028c62a03ec88eaef97b5b6c15b5bf901f
parentf2d92e86c08e002ed9c22026ed14bd1b6bb32414 (diff)
downloadhomebrew-1abb2b04e24bde05a169f8ab0e65dcc1a0247179.tar.bz2
Rewrite fails_with tests as tests for CompilerFailure
-rw-r--r--Library/Homebrew/test/test_compiler_failure.rb52
-rw-r--r--Library/Homebrew/test/test_fails_with.rb66
2 files changed, 52 insertions, 66 deletions
diff --git a/Library/Homebrew/test/test_compiler_failure.rb b/Library/Homebrew/test/test_compiler_failure.rb
new file mode 100644
index 000000000..da656de7f
--- /dev/null
+++ b/Library/Homebrew/test/test_compiler_failure.rb
@@ -0,0 +1,52 @@
+require "testing_env"
+require "compilers"
+
+class CompilerFailureTests < Homebrew::TestCase
+ Compiler = Struct.new(:name, :version)
+
+ def assert_fails_with(compiler, failure)
+ assert_operator failure, :===, compiler
+ end
+
+ def refute_fails_with(compiler, failure)
+ refute_operator failure, :===, compiler
+ end
+
+ def compiler(name, version)
+ Compiler.new(name, version)
+ end
+
+ def create(spec, &block)
+ CompilerFailure.create(spec, &block)
+ end
+
+ def test_create_with_symbol
+ failure = create(:clang)
+ assert_fails_with compiler(:clang, 425), failure
+ end
+
+ def test_create_with_block
+ failure = create(:clang) { build 211 }
+ assert_fails_with compiler(:clang, 210), failure
+ refute_fails_with compiler(:clang, 318), failure
+ end
+
+ def test_create_with_block_without_build
+ failure = create(:clang) { }
+ assert_fails_with compiler(:clang, 425), failure
+ end
+
+ def test_create_with_hash
+ failure = create(:gcc => "4.8")
+ assert_fails_with compiler("gcc-4.8", "4.8"), failure
+ assert_fails_with compiler("gcc-4.8", "4.8.1"), failure
+ refute_fails_with compiler("gcc-4.7", "4.7"), failure
+ end
+
+ def test_create_with_hash_and_version
+ failure = create(:gcc => "4.8") { version "4.8.1" }
+ assert_fails_with compiler("gcc-4.8", "4.8"), failure
+ assert_fails_with compiler("gcc-4.8", "4.8.1"), failure
+ refute_fails_with compiler("gcc-4.8", "4.8.2"), failure
+ end
+end
diff --git a/Library/Homebrew/test/test_fails_with.rb b/Library/Homebrew/test/test_fails_with.rb
deleted file mode 100644
index af1eeaf19..000000000
--- a/Library/Homebrew/test/test_fails_with.rb
+++ /dev/null
@@ -1,66 +0,0 @@
-require 'testing_env'
-require 'software_spec'
-
-class FailsWithTests < Homebrew::TestCase
- def assert_fails_with(cc)
- assert @spec.fails_with?(cc)
- end
-
- def refute_fails_with(cc)
- refute @spec.fails_with?(cc)
- end
-
- def fails_with(*args, &block)
- @spec.fails_with(*args, &block)
- end
-
- def build_cc(name, version)
- Compiler.new(name, version)
- end
-
- def setup
- @spec = SoftwareSpec.new
- end
-
- def test_fails_with_symbol
- fails_with :clang
- cc = build_cc(:clang, 425)
- assert_fails_with cc
- end
-
- def test_fails_with_build
- fails_with(:clang) { build 211 }
- cc = build_cc(:clang, 318)
- refute_fails_with cc
- end
-
- def test_fails_with_block_without_build
- fails_with(:clang)
- cc = build_cc(:clang, 425)
- assert_fails_with cc
- end
-
- def test_non_apple_gcc_version
- fails_with(:gcc => '4.8')
- assert_fails_with build_cc("gcc-4.8", "4.8")
- assert_fails_with build_cc("gcc-4.8", "4.8.1")
- end
-
- def test_multiple_failures
- fails_with(:llvm)
- fails_with(:clang)
- gcc = build_cc(:gcc, 5666)
- llvm = build_cc(:llvm, 2336)
- clang = build_cc(:clang, 425)
- assert_fails_with llvm
- assert_fails_with clang
- refute_fails_with gcc
- end
-
- def test_fails_with_version
- fails_with(:gcc => '4.8') { version '4.8.1' }
- assert_fails_with build_cc("gcc-4.8", "4.8")
- assert_fails_with build_cc("gcc-4.8", "4.8.1")
- refute_fails_with build_cc("gcc-4.8", "4.8.2")
- end
-end