lib/specinfra/command/base.rb in specinfra-2.0.0.beta5 vs lib/specinfra/command/base.rb in specinfra-2.0.0.beta6

- old
+ new

@@ -78,11 +78,11 @@ def check_user(user) "id #{escape(user)}" end def check_group(group) - "getent group | grep -wq -- #{escape(group)}" + "getent group #{escape(group)}" end def check_installed(package, version=nil) raise NotImplementedError.new end @@ -93,18 +93,19 @@ def check_service_start_mode(service, mode) raise NotImplementedError.new end - def check_listening(port) - regexp = ":#{port} " - "netstat -tunl | grep -- #{escape(regexp)}" + def check_listening(port, options = {}) + pattern = ":#{port}" + pattern = " #{options[:local_address]}#{pattern}" if options[:local_address] + pattern = "^#{options[:protocol]} .*#{pattern}" if options[:protocol] + "netstat -tunl | grep -- #{escape(pattern)}" end def check_listening_with_protocol(port, protocol) - regexp = "^#{protocol} .*:#{port} " - "netstat -tunl | grep -- #{escape(regexp)}" + check_listening port, {:protocol => protocol} end def check_running(service) "service #{escape(service)} status" end @@ -198,10 +199,10 @@ regexp = "^#{group}$" "stat -c %G #{escape(file)} | grep -- #{escape(regexp)}" end def check_cron_entry(user, entry) - entry_escaped = entry.gsub(/\*/, '\\*') + entry_escaped = entry.gsub(/\*/, '\\*').gsub(/\[/, '\\[').gsub(/\]/, '\\]') if user.nil? "crontab -l | grep -v \"#\" -- | grep -- #{escape(entry_escaped)}" else "crontab -u #{escape(user)} -l | grep -v \"#\" | grep -- #{escape(entry_escaped)}" end