diff options
| author | Markus Reiter | 2016-11-13 22:00:15 +0100 |
|---|---|---|
| committer | Markus Reiter | 2016-11-16 23:52:38 +0100 |
| commit | 7457af2b231528e1287281f6cfe651600d5f3f5d (patch) | |
| tree | 0da872ad2906fad53f176e05056181e0c6ccceaa /Library/Homebrew/test/bash_test.rb | |
| parent | 9dc1f8f3cd405bc299eb688075687f951afd3e13 (diff) | |
| download | brew-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.rb | 34 |
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 |
