class SaltLint::Tests
Main class for all the tests.
Public Class Methods
check_double_quotes(line_number, line, file)
click to toggle source
Test content: Checking if given line contains double quoted content without variable.
# File lib/salt-lint/tests.rb, line 83 def self.check_double_quotes(line_number, line, file) if $arguments.check_double_quotes check_for_regexp(line_number, line, file, /\"(?!{+).*(?!}+)\"/, "Checking for double quotes: #{line_number}", "Using double quotes with no variables: #{file}:#{line_number}") else return true end end
check_file_mode_single_quotes(line_number, line, file)
click to toggle source
Test content: Check if file mode with leading zero is wrapped into single quotes
# File lib/salt-lint/tests.rb, line 101 def self.check_file_mode_single_quotes(line_number, line, file) if $arguments.check_quoted_file_mode check_for_regexp(line_number, line, file, /mode\:\s\d{3,4}$/, "Checking if file mode is wrapped in single quotes: #{line_number}", "Unquoted file mode found: #{file}:#{line_number}") else return true end end
check_for_no_newline(line_number, line, file)
click to toggle source
Test content: Checking given file for no newline at the end of the file.
# File lib/salt-lint/tests.rb, line 35 def self.check_for_no_newline(line_number, line, file) is_ok = true if $arguments.check_newlines Printer.print('debug', "Checking for no-newline at the end of the file in file #{file}", 5) f = File.readlines(file).last f.match(/\n$/) ? is_ok = true : is_ok = false if ! $invalid_newline.has_key?(file) && is_ok == false Printer.print('warning', "No newline at the end of the file #{file}") $invalid_newline[file] = is_ok end end return is_ok end
check_for_regexp(line_number, line, file, regex, debug_msg, warning_msg)
click to toggle source
Helper: Checking for whitespaces
# File lib/salt-lint/tests.rb, line 8 def self.check_for_regexp(line_number, line, file, regex, debug_msg, warning_msg) Printer.print('debug', debug_msg, 5) ! (line =~ Regexp.new(regex)).nil? ? is_ok = false : is_ok = true if ! is_ok Printer.print('warning', warning_msg) end return is_ok end
check_if_single_word_declaration(line_number, line, file)
click to toggle source
Test content: Check context and block all the single-word declarations
# File lib/salt-lint/tests.rb, line 18 def self.check_if_single_word_declaration(line_number, line, file) is_ok = true if $arguments.check_single_word Printer.print('debug', "Looking for single word declarations in #{file}", 5) if line =~ /(pkg|file|service):\n/ f = File.readlines(file)[line_number-1..line_number+2] ( f[2] =~ /^\n$/ && f[1] =~ /- \w+\n$/ ) ? is_ok = true : is_ok = false if ! $invalid_oneword.has_key?(file) && is_ok == false Printer.print('warning', "Found single line declaration in #{file}:#{line_number-1}-#{line_number+1}") $invalid_oneword[file] = is_ok end end end return is_ok end
check_if_tabs_used(line_number, line, file)
click to toggle source
Test content: Check for tabs used instead of spaces.
# File lib/salt-lint/tests.rb, line 64 def self.check_if_tabs_used(line_number, line, file) if $arguments.check_tabs check_for_regexp(line_number, line, file, /^[\t]+/, "Checking for tabs presence: #{line_number}", "Found tabs used instead of spaces: #{file}:#{line_number}") else return true end end
check_line_length(line_number, line, file)
click to toggle source
Test content: Checking if given line isn't longer than 80 characters.
# File lib/salt-lint/tests.rb, line 50 def self.check_line_length(line_number, line, file) is_ok = true if $arguments.check_line_length Printer.print('debug', "Checking line length: #{line_number}", 5) line.length > 80 ? is_ok = false : nil if ! is_ok Printer.print('warning', "Line length above 80 characters: #{file}:#{line_number}") end end return is_ok end
check_quoted_boolean(line_number, line, file)
click to toggle source
Test content: Checking if there's quoted boolean value present.
# File lib/salt-lint/tests.rb, line 92 def self.check_quoted_boolean(line_number, line, file) if $arguments.check_quoted_boolean check_for_regexp(line_number, line, file, /\s+(\"|\')(true|false)(\"|\')$/, "Checking for quoted booleans: #{line_number}", "Quoted boolean found: #{file}:#{line_number}") else return true end end
check_trailing_whitespace(line_number, line, file)
click to toggle source
Test content: Checking given line for trailing whitespaces.
# File lib/salt-lint/tests.rb, line 73 def self.check_trailing_whitespace(line_number, line, file) if $arguments.check_whitespaces check_for_regexp(line_number, line, file, /[ \t]+$/, "Checking for trailing whitespaces: #{line_number}", "Trailing whitespace character found: #{file}:#{line_number}") else return true end end