diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index d171a6d6bd..907679f992 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -272,7 +272,7 @@ class Pathname end def text_executable? - %r[#!\s*(/.+)+] === open('r') { |f| f.readline } + %r[^#!\s*.+] === open('r') { |f| f.readline } rescue EOFError false end diff --git a/Library/Homebrew/test/test_mach.rb b/Library/Homebrew/test/test_mach.rb index 9b9c3cd9b5..a0efb6928c 100644 --- a/Library/Homebrew/test/test_mach.rb +++ b/Library/Homebrew/test/test_mach.rb @@ -135,7 +135,7 @@ class TextExecutableTests < Test::Unit::TestCase def test_malformed_shebang pn = Pathname.new('baz') - pn.write '#! ' + pn.write ' #!' assert !pn.universal? assert !pn.i386? assert !pn.x86_64? @@ -146,7 +146,7 @@ class TextExecutableTests < Test::Unit::TestCase assert !pn.text_executable? assert_equal [], pn.archs assert pn.arch == :dunno - assert_match /text executable/, `/usr/bin/file -h '#{pn}'`.chomp + assert_no_match /text executable/, `/usr/bin/file -h '#{pn}'`.chomp end def teardown