aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/test/test_bash.rb30
1 files changed, 22 insertions, 8 deletions
diff --git a/Library/Homebrew/test/test_bash.rb b/Library/Homebrew/test/test_bash.rb
index 7c312f62a..e965aaf21 100644
--- a/Library/Homebrew/test/test_bash.rb
+++ b/Library/Homebrew/test/test_bash.rb
@@ -1,20 +1,34 @@
require "testing_env"
class BashTests < Homebrew::TestCase
- def assert_valid_bash_syntax(files)
- output = Utils.popen_read("/bin/bash -n #{files} 2>&1")
+ def assert_valid_bash_syntax(file)
+ output = Utils.popen_read("/bin/bash -n #{file} 2>&1")
assert $?.success?, output
end
def test_bin_brew
- assert_valid_bash_syntax "#{HOMEBREW_LIBRARY_PATH.parent.parent}/bin/brew"
+ assert_valid_bash_syntax HOMEBREW_LIBRARY_PATH.parent.parent/"bin/brew"
end
- def test_bash_cmds
- %w[cmd dev-cmd].each do |dir|
- Dir["#{HOMEBREW_LIBRARY_PATH}/#{dir}/*.sh"].each do |cmd|
- assert_valid_bash_syntax cmd
- end
+ def test_bash_code
+ Pathname.glob("#{HOMEBREW_LIBRARY_PATH}/**/*.sh").each do |pn|
+ pn_relative = pn.relative_path_from(HOMEBREW_LIBRARY_PATH)
+ next if pn_relative.to_s.start_with?("shims/", "test/", "vendor/")
+ assert_valid_bash_syntax pn
+ end
+ end
+
+ def test_bash_completion
+ script = HOMEBREW_LIBRARY_PATH.parent.parent/"etc/bash_completion.d/brew"
+ assert_valid_bash_syntax script
+ end
+
+ def test_bash_shims
+ # These have no file extension, but can be identified by their shebang.
+ (HOMEBREW_LIBRARY_PATH/"shims").find do |pn|
+ next if pn.directory? || pn.symlink?
+ next unless pn.executable? && pn.read(12) == "#!/bin/bash\n"
+ assert_valid_bash_syntax pn
end
end
end