serverspec 0.4.11 → 0.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,7 +10,7 @@ module Serverspec
10
10
  end
11
11
 
12
12
  def run_command(cmd, opts={})
13
- stdout = `#{cmd} 2>&1`
13
+ stdout = `PATH=/sbin:/usr/sbin:$PATH #{cmd} 2>&1`
14
14
  # In ruby 1.9, it is possible to use Open3.capture3, but not in 1.8
15
15
  #stdout, stderr, status = Open3.capture3(cmd)
16
16
 
@@ -4,6 +4,7 @@ module Serverspec
4
4
  module Backend
5
5
  class Ssh < Exec
6
6
  def run_command(cmd, opt={})
7
+ cmd = "PATH=/sbin:/usr/sbin:$PATH #{cmd}"
7
8
  cmd = "sudo #{cmd}" if not RSpec.configuration.ssh.options[:user] == 'root'
8
9
  ret = ssh_exec!(cmd)
9
10
  if ! @example.nil?
@@ -19,7 +19,7 @@ module Serverspec
19
19
  end
20
20
 
21
21
  def check_routing_table destination
22
- "/sbin/ip route | grep -E '^#{destination} |^default '"
22
+ "ip route | grep -E '^#{destination} |^default '"
23
23
  end
24
24
 
25
25
  def check_reachable host, port, proto, timeout
@@ -66,7 +66,7 @@ module Serverspec
66
66
  end
67
67
 
68
68
  def check_running service
69
- "/sbin/service #{escape(service)} status"
69
+ "service #{escape(service)} status"
70
70
  end
71
71
 
72
72
  def check_running_under_supervisor service
@@ -3,11 +3,11 @@ module Serverspec
3
3
  class Gentoo < Linux
4
4
  def check_enabled service
5
5
  regexp = "^\\s*#{service}\\s*|\\s*\\(boot\\|default\\)"
6
- "/sbin/rc-update show | grep -- #{escape(regexp)}"
6
+ "rc-update show | grep -- #{escape(regexp)}"
7
7
  end
8
8
 
9
9
  def check_installed package
10
- "/usr/bin/eix #{escape(package)} --installed"
10
+ "eix #{escape(package)} --installed"
11
11
  end
12
12
 
13
13
  def check_running service
@@ -6,11 +6,11 @@ module Serverspec
6
6
  class NotImplementedError < Exception; end
7
7
 
8
8
  def check_access_by_user file, user, access
9
- "su -s /bin/sh -c \"/usr/bin/test -#{access} #{file}\" #{user}"
9
+ "su -s sh -c \"test -#{access} #{file}\" #{user}"
10
10
  end
11
11
 
12
12
  def check_iptables_rule rule, table=nil, chain=nil
13
- cmd = "/sbin/iptables"
13
+ cmd = "iptables"
14
14
  cmd += " -t #{escape(table)}" if table
15
15
  cmd += " -S"
16
16
  cmd += " #{escape(chain)}" if chain
@@ -19,7 +19,7 @@ module Serverspec
19
19
  end
20
20
 
21
21
  def check_selinux mode
22
- "/usr/sbin/getenforce | grep -i -- #{escape(mode)}"
22
+ "getenforce | grep -i -- #{escape(mode)}"
23
23
  end
24
24
  end
25
25
  end
@@ -3,11 +3,11 @@ module Serverspec
3
3
  class RedHat < Linux
4
4
  def check_access_by_user file, user, access
5
5
  # Redhat-specific
6
- "/sbin/runuser -s /bin/sh -c \"test -#{access} #{file}\" #{user}"
6
+ "runuser -s sh -c \"test -#{access} #{file}\" #{user}"
7
7
  end
8
8
 
9
9
  def check_enabled service
10
- "/sbin/chkconfig --list #{escape(service)} | grep 3:on"
10
+ "chkconfig --list #{escape(service)} | grep 3:on"
11
11
  end
12
12
 
13
13
  def check_installed package
@@ -29,24 +29,24 @@ module Serverspec
29
29
 
30
30
  def check_zfs zfs, property=nil
31
31
  if property.nil?
32
- "/sbin/zfs list -H #{escape(zfs)}"
32
+ "zfs list -H #{escape(zfs)}"
33
33
  else
34
34
  commands = []
35
35
  property.sort.each do |key, value|
36
36
  regexp = "^#{value}$"
37
- commands << "/sbin/zfs list -H -o #{escape(key)} #{escape(zfs)} | grep -- #{escape(regexp)}"
37
+ commands << "zfs list -H -o #{escape(key)} #{escape(zfs)} | grep -- #{escape(regexp)}"
38
38
  end
39
39
  commands.join(' && ')
40
40
  end
41
41
  end
42
42
 
43
43
  def check_ipfilter_rule rule
44
- "/sbin/ipfstat -io 2> /dev/null | grep -- #{escape(rule)}"
44
+ "ipfstat -io 2> /dev/null | grep -- #{escape(rule)}"
45
45
  end
46
46
 
47
47
  def check_ipnat_rule rule
48
48
  regexp = "^#{rule}$"
49
- "/sbin/ipnat -l 2> /dev/null | grep -- #{escape(regexp)}"
49
+ "ipnat -l 2> /dev/null | grep -- #{escape(regexp)}"
50
50
  end
51
51
 
52
52
  def check_svcprop svc, property, value
@@ -91,7 +91,7 @@ module Serverspec
91
91
  # http://docs.oracle.com/cd/E23823_01/html/816-5166/su-1m.html
92
92
  ## No need for login shell as it seems that behavior as superuser is favorable for us, but needs
93
93
  ## to be better tested under real solaris env
94
- "su #{user} -c \"/usr/bin/test -#{access} #{file}\""
94
+ "su #{user} -c \"test -#{access} #{file}\""
95
95
  end
96
96
  end
97
97
  end
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.4.11"
2
+ VERSION = "0.4.12"
3
3
  end
@@ -66,5 +66,5 @@ end
66
66
 
67
67
  describe 'check_running' do
68
68
  subject { commands.check_running('httpd') }
69
- it { should eq '/sbin/service httpd status' }
69
+ it { should eq 'service httpd status' }
70
70
  end
@@ -56,12 +56,12 @@ end
56
56
 
57
57
  describe 'check_enabled' do
58
58
  subject { commands.check_enabled('httpd') }
59
- it { should eq "/sbin/rc-update show | grep -- \\^\\\\s\\*httpd\\\\s\\*\\|\\\\s\\*\\\\\\(boot\\\\\\|default\\\\\\)" }
59
+ it { should eq "rc-update show | grep -- \\^\\\\s\\*httpd\\\\s\\*\\|\\\\s\\*\\\\\\(boot\\\\\\|default\\\\\\)" }
60
60
  end
61
61
 
62
62
  describe 'check_installed' do
63
63
  subject { commands.check_installed('httpd') }
64
- it { should eq '/usr/bin/eix httpd --installed' }
64
+ it { should eq 'eix httpd --installed' }
65
65
  end
66
66
 
67
67
  describe 'check_running' do
@@ -54,7 +54,7 @@ end
54
54
 
55
55
  describe 'check_enabled' do
56
56
  subject { commands.check_enabled('httpd') }
57
- it { should eq '/sbin/chkconfig --list httpd | grep 3:on' }
57
+ it { should eq 'chkconfig --list httpd | grep 3:on' }
58
58
  end
59
59
 
60
60
  describe 'check_installed' do
@@ -64,22 +64,22 @@ end
64
64
 
65
65
  describe 'check_running' do
66
66
  subject { commands.check_running('httpd') }
67
- it { should eq '/sbin/service httpd status' }
67
+ it { should eq 'service httpd status' }
68
68
  end
69
69
 
70
70
  describe 'check_access_by_user' do
71
71
  context 'read access' do
72
72
  subject {commands.check_access_by_user '/tmp/something', 'dummyuser1', 'r'}
73
- it { should eq '/sbin/runuser -s /bin/sh -c "test -r /tmp/something" dummyuser1' }
73
+ it { should eq 'runuser -s sh -c "test -r /tmp/something" dummyuser1' }
74
74
  end
75
75
 
76
76
  context 'write access' do
77
77
  subject {commands.check_access_by_user '/tmp/somethingw', 'dummyuser2', 'w'}
78
- it { should eq '/sbin/runuser -s /bin/sh -c "test -w /tmp/somethingw" dummyuser2' }
78
+ it { should eq 'runuser -s sh -c "test -w /tmp/somethingw" dummyuser2' }
79
79
  end
80
80
 
81
81
  context 'execute access' do
82
82
  subject {commands.check_access_by_user '/tmp/somethingx', 'dummyuser3', 'x'}
83
- it { should eq '/sbin/runuser -s /bin/sh -c "test -x /tmp/somethingx" dummyuser3' }
83
+ it { should eq 'runuser -s sh -c "test -x /tmp/somethingx" dummyuser3' }
84
84
  end
85
85
  end
@@ -108,28 +108,28 @@ end
108
108
  describe 'check_zfs' do
109
109
  context 'check without properties' do
110
110
  subject { commands.check_zfs('rpool') }
111
- it { should eq "/sbin/zfs list -H rpool" }
111
+ it { should eq "zfs list -H rpool" }
112
112
  end
113
113
 
114
114
  context 'check with a property' do
115
115
  subject { commands.check_zfs('rpool', { 'mountpoint' => '/rpool' }) }
116
- it { should eq "/sbin/zfs list -H -o mountpoint rpool | grep -- \\^/rpool\\$" }
116
+ it { should eq "zfs list -H -o mountpoint rpool | grep -- \\^/rpool\\$" }
117
117
  end
118
118
 
119
119
  context 'check with multiple properties' do
120
120
  subject { commands.check_zfs('rpool', { 'mountpoint' => '/rpool', 'compression' => 'off' }) }
121
- it { should eq "/sbin/zfs list -H -o compression rpool | grep -- \\^off\\$ && /sbin/zfs list -H -o mountpoint rpool | grep -- \\^/rpool\\$" }
121
+ it { should eq "zfs list -H -o compression rpool | grep -- \\^off\\$ && zfs list -H -o mountpoint rpool | grep -- \\^/rpool\\$" }
122
122
  end
123
123
  end
124
124
 
125
125
  describe 'check_ip_filter_rule' do
126
126
  subject { commands.check_ipfilter_rule('pass in quick on lo0 all') }
127
- it { should eq "/sbin/ipfstat -io 2> /dev/null | grep -- pass\\ in\\ quick\\ on\\ lo0\\ all" }
127
+ it { should eq "ipfstat -io 2> /dev/null | grep -- pass\\ in\\ quick\\ on\\ lo0\\ all" }
128
128
  end
129
129
 
130
130
  describe 'check_ipnat_rule' do
131
131
  subject { commands.check_ipnat_rule('map net1 192.168.0.0/24 -> 0.0.0.0/32') }
132
- it { should eq "/sbin/ipnat -l 2> /dev/null | grep -- \\^map\\ net1\\ 192.168.0.0/24\\ -\\>\\ 0.0.0.0/32\\$" }
132
+ it { should eq "ipnat -l 2> /dev/null | grep -- \\^map\\ net1\\ 192.168.0.0/24\\ -\\>\\ 0.0.0.0/32\\$" }
133
133
  end
134
134
 
135
135
  describe 'check_svcprop' do
@@ -150,16 +150,16 @@ end
150
150
  describe 'check_access_by_user' do
151
151
  context 'read access' do
152
152
  subject {commands.check_access_by_user '/tmp/something', 'dummyuser1', 'r'}
153
- it { should eq 'su dummyuser1 -c "/usr/bin/test -r /tmp/something"' }
153
+ it { should eq 'su dummyuser1 -c "test -r /tmp/something"' }
154
154
  end
155
155
 
156
156
  context 'write access' do
157
157
  subject {commands.check_access_by_user '/tmp/somethingw', 'dummyuser2', 'w'}
158
- it { should eq 'su dummyuser2 -c "/usr/bin/test -w /tmp/somethingw"' }
158
+ it { should eq 'su dummyuser2 -c "test -w /tmp/somethingw"' }
159
159
  end
160
160
 
161
161
  context 'execute access' do
162
162
  subject {commands.check_access_by_user '/tmp/somethingx', 'dummyuser3', 'x'}
163
- it { should eq 'su dummyuser3 -c "/usr/bin/test -x /tmp/somethingx"' }
163
+ it { should eq 'su dummyuser3 -c "test -x /tmp/somethingx"' }
164
164
  end
165
165
  end
@@ -25,7 +25,7 @@ end
25
25
 
26
26
  shared_examples_for 'support command check_routing_table' do |dest|
27
27
  subject { commands.check_routing_table(dest) }
28
- it { should eq "/sbin/ip route | grep -E '^#{dest} |^default '" }
28
+ it { should eq "ip route | grep -E '^#{dest} |^default '" }
29
29
  end
30
30
 
31
31
  shared_examples_for 'support command check_reachable' do
@@ -193,29 +193,29 @@ end
193
193
  shared_examples_for 'support command check_iptables' do
194
194
  context 'check a rule without a table and a chain' do
195
195
  subject { commands.check_iptables_rule('-P INPUT ACCEPT') }
196
- it { should eq "/sbin/iptables -S | grep -- -P\\ INPUT\\ ACCEPT" }
196
+ it { should eq "iptables -S | grep -- -P\\ INPUT\\ ACCEPT" }
197
197
  end
198
198
 
199
199
  context 'chack a rule with a table and a chain' do
200
200
  subject { commands.check_iptables_rule('-P INPUT ACCEPT', 'mangle', 'INPUT') }
201
- it { should eq "/sbin/iptables -t mangle -S INPUT | grep -- -P\\ INPUT\\ ACCEPT" }
201
+ it { should eq "iptables -t mangle -S INPUT | grep -- -P\\ INPUT\\ ACCEPT" }
202
202
  end
203
203
  end
204
204
 
205
205
  shared_examples_for 'support command check_selinux' do
206
206
  context 'enforcing' do
207
207
  subject { commands.check_selinux('enforcing') }
208
- it { should eq "/usr/sbin/getenforce | grep -i -- enforcing" }
208
+ it { should eq "getenforce | grep -i -- enforcing" }
209
209
  end
210
210
 
211
211
  context 'permissive' do
212
212
  subject { commands.check_selinux('permissive') }
213
- it { should eq "/usr/sbin/getenforce | grep -i -- permissive" }
213
+ it { should eq "getenforce | grep -i -- permissive" }
214
214
  end
215
215
 
216
216
  context 'disabled' do
217
217
  subject { commands.check_selinux('disabled') }
218
- it { should eq "/usr/sbin/getenforce | grep -i -- disabled" }
218
+ it { should eq "getenforce | grep -i -- disabled" }
219
219
  end
220
220
  end
221
221
 
@@ -227,16 +227,16 @@ end
227
227
  shared_examples_for 'support command check_access_by_user' do
228
228
  context 'read access' do
229
229
  subject {commands.check_access_by_user '/tmp/something', 'dummyuser1', 'r'}
230
- it { should eq 'su -s /bin/sh -c "/usr/bin/test -r /tmp/something" dummyuser1' }
230
+ it { should eq 'su -s sh -c "test -r /tmp/something" dummyuser1' }
231
231
  end
232
232
 
233
233
  context 'write access' do
234
234
  subject {commands.check_access_by_user '/tmp/somethingw', 'dummyuser2', 'w'}
235
- it { should eq 'su -s /bin/sh -c "/usr/bin/test -w /tmp/somethingw" dummyuser2' }
235
+ it { should eq 'su -s sh -c "test -w /tmp/somethingw" dummyuser2' }
236
236
  end
237
237
 
238
238
  context 'execute access' do
239
239
  subject {commands.check_access_by_user '/tmp/somethingx', 'dummyuser3', 'x'}
240
- it { should eq 'su -s /bin/sh -c "/usr/bin/test -x /tmp/somethingx" dummyuser3' }
240
+ it { should eq 'su -s sh -c "test -x /tmp/somethingx" dummyuser3' }
241
241
  end
242
242
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.11
4
+ version: 0.4.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: