Class: Serverspec::Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/serverspec/filter.rb

Class Method Summary collapse

Class Method Details

.filter_subject(example) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/serverspec/filter.rb', line 3

def self.filter_subject example
  description_args = example.[:example_group][:example_group][:description_args].join(' ')

  # Linux kernel parameters
  %w( abi crypto debug dev fs kernel net sunrpc vm ).each do |param|
    if description_args.match(/^#{param}\./)
      ret = backend(Serverspec::Commands::Base).run_command("/sbin/sysctl -q -n #{description_args}")
      val = ret[:stdout].strip
      val = val.to_i if val.match(/^\d+$/)
      subject = Serverspec::Subject.new
      subject.value(val)
      return subject
    end
  end

  example.[:example_group][:description_args].join(' ')
end