From ec9751670ceb352a91334ebfc2a7a98b1c39d192 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Sat, 16 Jul 2016 21:08:28 +0100 Subject: test_mach: make OS X specific. --- Library/Homebrew/test/test_mach.rb | 208 ------------------------------ Library/Homebrew/test/test_os_mac_mach.rb | 208 ++++++++++++++++++++++++++++++ 2 files changed, 208 insertions(+), 208 deletions(-) delete mode 100644 Library/Homebrew/test/test_mach.rb create mode 100644 Library/Homebrew/test/test_os_mac_mach.rb (limited to 'Library') diff --git a/Library/Homebrew/test/test_mach.rb b/Library/Homebrew/test/test_mach.rb deleted file mode 100644 index 404a21d60..000000000 --- a/Library/Homebrew/test/test_mach.rb +++ /dev/null @@ -1,208 +0,0 @@ -require "testing_env" - -class MachOPathnameTests < Homebrew::TestCase - def test_fat_dylib - pn = dylib_path("fat") - assert_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - assert_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - assert_equal :universal, pn.arch - end - - def test_i386_dylib - pn = dylib_path("i386") - refute_predicate pn, :universal? - assert_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - assert_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - refute_predicate pn, :mach_o_bundle? - end - - def test_x86_64_dylib - pn = dylib_path("x86_64") - refute_predicate pn, :universal? - refute_predicate pn, :i386? - assert_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - assert_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - refute_predicate pn, :mach_o_bundle? - end - - def test_mach_o_executable - pn = Pathname.new("#{TEST_DIRECTORY}/mach/a.out") - assert_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - assert_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - refute_predicate pn, :mach_o_bundle? - end - - def test_fat_bundle - pn = bundle_path("fat") - assert_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - assert_predicate pn, :mach_o_bundle? - end - - def test_i386_bundle - pn = bundle_path("i386") - refute_predicate pn, :universal? - assert_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - assert_predicate pn, :mach_o_bundle? - end - - def test_x86_64_bundle - pn = bundle_path("x86_64") - refute_predicate pn, :universal? - refute_predicate pn, :i386? - assert_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - assert_predicate pn, :mach_o_bundle? - end - - def test_non_mach_o - pn = Pathname.new("#{TEST_DIRECTORY}/tarballs/testball-0.1.tbz") - refute_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - refute_predicate pn, :mach_o_bundle? - assert_equal :dunno, pn.arch - end -end - -class ArchitectureListExtensionTests < MachOPathnameTests - def setup - @archs = [:i386, :x86_64, :ppc7400, :ppc64].extend(ArchitectureListExtension) - end - - def test_architecture_list_extension_universal_checks - assert_predicate @archs, :universal? - assert_predicate @archs, :intel_universal? - assert_predicate @archs, :ppc_universal? - assert_predicate @archs, :cross_universal? - assert_predicate @archs, :fat? - - non_universal = [:i386].extend ArchitectureListExtension - refute_predicate non_universal, :universal? - - intel_only = [:i386, :x86_64].extend ArchitectureListExtension - assert_predicate intel_only, :universal? - refute_predicate intel_only, :ppc_universal? - refute_predicate intel_only, :cross_universal? - - ppc_only = [:ppc970, :ppc64].extend ArchitectureListExtension - assert_predicate ppc_only, :universal? - refute_predicate ppc_only, :intel_universal? - refute_predicate ppc_only, :cross_universal? - - cross = [:ppc7400, :i386].extend ArchitectureListExtension - assert_predicate cross, :universal? - refute_predicate cross, :intel_universal? - refute_predicate cross, :ppc_universal? - end - - def test_architecture_list_extension_massaging_flags - @archs.remove_ppc! - assert_equal 2, @archs.length - assert_match(/-arch i386/, @archs.as_arch_flags) - assert_match(/-arch x86_64/, @archs.as_arch_flags) - end - - def test_architecture_list_arch_flags_methods - pn = dylib_path("fat") - assert_predicate pn.archs, :intel_universal? - assert_equal "-arch x86_64 -arch i386", pn.archs.as_arch_flags - assert_equal "x86_64;i386", pn.archs.as_cmake_arch_flags - end -end - -class TextExecutableTests < Homebrew::TestCase - attr_reader :pn - - def setup - @pn = HOMEBREW_PREFIX.join("an_executable") - end - - def teardown - HOMEBREW_PREFIX.join("an_executable").unlink - end - - def test_simple_shebang - pn.write "#!/bin/sh" - refute_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - assert_predicate pn, :text_executable? - assert_equal [], pn.archs - assert_equal :dunno, pn.arch - end - - def test_shebang_with_options - pn.write "#! /usr/bin/perl -w" - refute_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - assert_predicate pn, :text_executable? - assert_equal [], pn.archs - assert_equal :dunno, pn.arch - end - - def test_malformed_shebang - pn.write " #!" - refute_predicate pn, :universal? - refute_predicate pn, :i386? - refute_predicate pn, :x86_64? - refute_predicate pn, :ppc7400? - refute_predicate pn, :ppc64? - refute_predicate pn, :dylib? - refute_predicate pn, :mach_o_executable? - refute_predicate pn, :text_executable? - assert_equal [], pn.archs - assert_equal :dunno, pn.arch - end -end diff --git a/Library/Homebrew/test/test_os_mac_mach.rb b/Library/Homebrew/test/test_os_mac_mach.rb new file mode 100644 index 000000000..404a21d60 --- /dev/null +++ b/Library/Homebrew/test/test_os_mac_mach.rb @@ -0,0 +1,208 @@ +require "testing_env" + +class MachOPathnameTests < Homebrew::TestCase + def test_fat_dylib + pn = dylib_path("fat") + assert_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + assert_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + assert_equal :universal, pn.arch + end + + def test_i386_dylib + pn = dylib_path("i386") + refute_predicate pn, :universal? + assert_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + assert_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + refute_predicate pn, :mach_o_bundle? + end + + def test_x86_64_dylib + pn = dylib_path("x86_64") + refute_predicate pn, :universal? + refute_predicate pn, :i386? + assert_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + assert_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + refute_predicate pn, :mach_o_bundle? + end + + def test_mach_o_executable + pn = Pathname.new("#{TEST_DIRECTORY}/mach/a.out") + assert_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + assert_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + refute_predicate pn, :mach_o_bundle? + end + + def test_fat_bundle + pn = bundle_path("fat") + assert_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + assert_predicate pn, :mach_o_bundle? + end + + def test_i386_bundle + pn = bundle_path("i386") + refute_predicate pn, :universal? + assert_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + assert_predicate pn, :mach_o_bundle? + end + + def test_x86_64_bundle + pn = bundle_path("x86_64") + refute_predicate pn, :universal? + refute_predicate pn, :i386? + assert_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + assert_predicate pn, :mach_o_bundle? + end + + def test_non_mach_o + pn = Pathname.new("#{TEST_DIRECTORY}/tarballs/testball-0.1.tbz") + refute_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + refute_predicate pn, :mach_o_bundle? + assert_equal :dunno, pn.arch + end +end + +class ArchitectureListExtensionTests < MachOPathnameTests + def setup + @archs = [:i386, :x86_64, :ppc7400, :ppc64].extend(ArchitectureListExtension) + end + + def test_architecture_list_extension_universal_checks + assert_predicate @archs, :universal? + assert_predicate @archs, :intel_universal? + assert_predicate @archs, :ppc_universal? + assert_predicate @archs, :cross_universal? + assert_predicate @archs, :fat? + + non_universal = [:i386].extend ArchitectureListExtension + refute_predicate non_universal, :universal? + + intel_only = [:i386, :x86_64].extend ArchitectureListExtension + assert_predicate intel_only, :universal? + refute_predicate intel_only, :ppc_universal? + refute_predicate intel_only, :cross_universal? + + ppc_only = [:ppc970, :ppc64].extend ArchitectureListExtension + assert_predicate ppc_only, :universal? + refute_predicate ppc_only, :intel_universal? + refute_predicate ppc_only, :cross_universal? + + cross = [:ppc7400, :i386].extend ArchitectureListExtension + assert_predicate cross, :universal? + refute_predicate cross, :intel_universal? + refute_predicate cross, :ppc_universal? + end + + def test_architecture_list_extension_massaging_flags + @archs.remove_ppc! + assert_equal 2, @archs.length + assert_match(/-arch i386/, @archs.as_arch_flags) + assert_match(/-arch x86_64/, @archs.as_arch_flags) + end + + def test_architecture_list_arch_flags_methods + pn = dylib_path("fat") + assert_predicate pn.archs, :intel_universal? + assert_equal "-arch x86_64 -arch i386", pn.archs.as_arch_flags + assert_equal "x86_64;i386", pn.archs.as_cmake_arch_flags + end +end + +class TextExecutableTests < Homebrew::TestCase + attr_reader :pn + + def setup + @pn = HOMEBREW_PREFIX.join("an_executable") + end + + def teardown + HOMEBREW_PREFIX.join("an_executable").unlink + end + + def test_simple_shebang + pn.write "#!/bin/sh" + refute_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + assert_predicate pn, :text_executable? + assert_equal [], pn.archs + assert_equal :dunno, pn.arch + end + + def test_shebang_with_options + pn.write "#! /usr/bin/perl -w" + refute_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + assert_predicate pn, :text_executable? + assert_equal [], pn.archs + assert_equal :dunno, pn.arch + end + + def test_malformed_shebang + pn.write " #!" + refute_predicate pn, :universal? + refute_predicate pn, :i386? + refute_predicate pn, :x86_64? + refute_predicate pn, :ppc7400? + refute_predicate pn, :ppc64? + refute_predicate pn, :dylib? + refute_predicate pn, :mach_o_executable? + refute_predicate pn, :text_executable? + assert_equal [], pn.archs + assert_equal :dunno, pn.arch + end +end -- cgit v1.2.3