aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test
diff options
context:
space:
mode:
authorGautham Goli2017-08-14 19:58:39 +0530
committerGautham Goli2017-08-14 19:58:39 +0530
commit77468fdae36ee58580a643d8bc0fdd9f8b6e61c3 (patch)
tree029a06e8fac08e102dc9e532450db1f71b1b7740 /Library/Homebrew/test
parentaf5cd1a1da0e1b87696ae72b8a5f1c174e83e94e (diff)
downloadbrew-77468fdae36ee58580a643d8bc0fdd9f8b6e61c3.tar.bz2
add tests for hard coded compilers in system calls
Diffstat (limited to 'Library/Homebrew/test')
-rw-r--r--Library/Homebrew/test/rubocops/lines_cop_spec.rb48
1 files changed, 48 insertions, 0 deletions
diff --git a/Library/Homebrew/test/rubocops/lines_cop_spec.rb b/Library/Homebrew/test/rubocops/lines_cop_spec.rb
index c0cd754b3..7e901f0e2 100644
--- a/Library/Homebrew/test/rubocops/lines_cop_spec.rb
+++ b/Library/Homebrew/test/rubocops/lines_cop_spec.rb
@@ -859,6 +859,54 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do
expect_offense(expected, actual)
end
end
+
+ it "with hardcoded compiler 1 " do
+ source = <<-EOS.undent
+ class Foo < Formula
+ desc "foo"
+ url 'http://example.com/foo-1.0.tgz'
+ def test
+ system "/usr/bin/gcc", "foo"
+ end
+ end
+ EOS
+
+ expected_offenses = [{ message: "Use \"\#{ENV.cc}\" instead of hard-coding \"gcc\"",
+ severity: :convention,
+ line: 5,
+ column: 12,
+ source: source }]
+
+ inspect_source(cop, source)
+
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ end
+ end
+
+ it "with hardcoded compiler 2 " do
+ source = <<-EOS.undent
+ class Foo < Formula
+ desc "foo"
+ url 'http://example.com/foo-1.0.tgz'
+ def test
+ system "/usr/bin/g++", "-o", "foo", "foo.cc"
+ end
+ end
+ EOS
+
+ expected_offenses = [{ message: "Use \"\#{ENV.cxx}\" instead of hard-coding \"g++\"",
+ severity: :convention,
+ line: 5,
+ column: 12,
+ source: source }]
+
+ inspect_source(cop, source)
+
+ expected_offenses.zip(cop.offenses).each do |expected, actual|
+ expect_offense(expected, actual)
+ end
+ end
end
def expect_offense(expected, actual)
expect(actual.message).to eq(expected[:message])