aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/bash_test.rb
diff options
context:
space:
mode:
authorMarkus Reiter2016-11-13 22:00:15 +0100
committerMarkus Reiter2016-11-16 23:52:38 +0100
commit7457af2b231528e1287281f6cfe651600d5f3f5d (patch)
tree0da872ad2906fad53f176e05056181e0c6ccceaa /Library/Homebrew/test/bash_test.rb
parent9dc1f8f3cd405bc299eb688075687f951afd3e13 (diff)
downloadbrew-7457af2b231528e1287281f6cfe651600d5f3f5d.tar.bz2
Move test files back directly to `test/`.
Diffstat (limited to 'Library/Homebrew/test/bash_test.rb')
-rw-r--r--Library/Homebrew/test/bash_test.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/Library/Homebrew/test/bash_test.rb b/Library/Homebrew/test/bash_test.rb
new file mode 100644
index 000000000..ff418c787
--- /dev/null
+++ b/Library/Homebrew/test/bash_test.rb
@@ -0,0 +1,34 @@
+require "testing_env"
+
+class BashTests < Homebrew::TestCase
+ 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"
+ 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/"completions/bash/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