diff options
| author | Jack Nagel | 2014-08-31 13:40:51 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-08-31 13:40:51 -0500 |
| commit | 1abb2b04e24bde05a169f8ab0e65dcc1a0247179 (patch) | |
| tree | 6b87a9028c62a03ec88eaef97b5b6c15b5bf901f | |
| parent | f2d92e86c08e002ed9c22026ed14bd1b6bb32414 (diff) | |
| download | homebrew-1abb2b04e24bde05a169f8ab0e65dcc1a0247179.tar.bz2 | |
Rewrite fails_with tests as tests for CompilerFailure
| -rw-r--r-- | Library/Homebrew/test/test_compiler_failure.rb | 52 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_fails_with.rb | 66 |
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 |
