specinfra 2.34.5 → 2.34.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8054c5ab30dcfb9ac19f5bdd7cc59b9498740bc
4
- data.tar.gz: 9a7fa2c786996cee9688d2b5a00f87c0b073ee75
3
+ metadata.gz: ee4f3c13b626174df2e3c5a1957cf483828a8e95
4
+ data.tar.gz: 1abaf57a1b99306ba08d29367570e58245f702fc
5
5
  SHA512:
6
- metadata.gz: 8bf761b1651b9b7988a56fa9ecb56c441702260ef0133f1cfc0d04fd0f6ff1c3d9e9833d9aec84e02e24f683b5a5e37b12ea4f6b943313295b322096fcb51eb5
7
- data.tar.gz: 43f76a008961233d893ff7c3c4b00b5d561fe304b1addd0dbe0259afb23beca80ba06233c5a7e9aab8eb36aba4de950f257738e8edae6891f023bc8e67b80005
6
+ metadata.gz: d22c7f491350c7345ddc21f3607fad810b808c150545bc78e0e5a454a47798f49d3cb5358a01ffeda394d8e62248531ac2d306908fa1261964c74a6e9bd3ca56
7
+ data.tar.gz: 4109ee75c6209359d67c19d8ecea80cdac452f08bb3f96d6e13d7ac4c56077bdaa0ba01848ba41ca8e01312a9dd91665b575b7eb867cbdb88584ab79844f7836
@@ -4,36 +4,41 @@ module Specinfra
4
4
  module Service
5
5
  module Daemontools
6
6
  def check_is_enabled_under_daemontools(service)
7
- "test -L /service/#{escape(service)} && test -f /service/#{escape(service)}/run"
7
+ "test -L #{service_dir}/#{escape(service)} && test -f #{service_dir}/#{escape(service)}/run"
8
8
  end
9
9
 
10
10
  def check_is_running_under_daemontools(service)
11
- "svstat /service/#{escape(service)} | grep -E 'up \\(pid [0-9]+\\)'"
11
+ "svstat #{service_dir}/#{escape(service)} | grep -E 'up \\(pid [0-9]+\\)'"
12
12
  end
13
13
 
14
14
  def enable_under_daemontools(service, directory)
15
- "ln -snf #{escape(directory)} /service/#{escape(service)}"
15
+ "ln -snf #{escape(directory)} #{service_dir}/#{escape(service)}"
16
16
  end
17
17
 
18
18
  def disable_under_daemontools(service)
19
- "( cd /service/#{escape(service)} && rm -f /service/#{escape(service)} && svc -dx . log )"
19
+ "( cd #{service_dir}/#{escape(service)} && rm -f #{service_dir}/#{escape(service)} && svc -dx . log )"
20
20
  end
21
21
 
22
22
  def start_under_daemontools(service)
23
- "svc -u /service/#{escape(service)}"
23
+ "svc -u #{service_dir}/#{escape(service)}"
24
24
  end
25
25
 
26
26
  def stop_under_daemontools(service)
27
- "svc -d /service/#{escape(service)}"
27
+ "svc -d #{service_dir}/#{escape(service)}"
28
28
  end
29
29
 
30
30
  def restart_under_daemontools(service)
31
- "svc -t /service/#{escape(service)}"
31
+ "svc -t #{service_dir}/#{escape(service)}"
32
32
  end
33
33
 
34
34
  def reload_under_daemontools(service)
35
- "svc -h /service/#{escape(service)}"
35
+ "svc -h #{service_dir}/#{escape(service)}"
36
36
  end
37
+
38
+ private
39
+ def service_dir
40
+ '$([ -d /service ] && echo /service || echo /etc/service)'
41
+ end
37
42
  end
38
43
  end
39
44
  end
@@ -5,5 +5,27 @@ class Specinfra::Command::Windows::Base::Process < Specinfra::Command::Windows::
5
5
  exec "(Get-Process '#{process}') -ne $null"
6
6
  end
7
7
  end
8
+
9
+ def get(process, opts)
10
+ column = opts[:format].chomp '='
11
+
12
+ case column
13
+ when 'pid'
14
+ # map 'pid' to its windows equivalent
15
+ get_process_property(process, 'processid')
16
+ when 'user'
17
+ %Q!gwmi win32_process -filter "name = '#{process}'" | select -first 1 | %{$_.getowner().user}!
18
+ when 'group'
19
+ # no concept of process group on Windows
20
+ raise NotImplementedError.new('Unable to get process group on Windows')
21
+ else
22
+ get_process_property(process, column)
23
+ end
24
+ end
25
+
26
+ private
27
+ def get_process_property(process, property)
28
+ %Q!Get-WmiObject Win32_Process -Filter "name = '#{process}'" | select -First 1 #{property} -ExpandProperty #{property}!
29
+ end
8
30
  end
9
31
  end
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.34.5"
2
+ VERSION = "2.34.6"
3
3
  end
@@ -5,14 +5,14 @@ describe Specinfra::Command::Module::Service::Daemontools do
5
5
  extend Specinfra::Command::Module::Service::Daemontools
6
6
  end
7
7
  let(:klass) { Specinfra::Command::Module::Service::Daemontools::Test }
8
- it { expect(klass.check_is_enabled_under_daemontools('httpd')).to eq "test -L /service/httpd && test -f /service/httpd/run" }
9
- it { expect(klass.check_is_running_under_daemontools('httpd')).to eq "svstat /service/httpd | grep -E 'up \\(pid [0-9]+\\)'" }
10
- it { expect(klass.enable_under_daemontools('httpd', '/tmp/service/httpd')).to eq 'ln -snf /tmp/service/httpd /service/httpd' }
11
- it { expect(klass.disable_under_daemontools('httpd')).to eq '( cd /service/httpd && rm -f /service/httpd && svc -dx . log )' }
12
- it { expect(klass.start_under_daemontools('httpd')).to eq 'svc -u /service/httpd' }
13
- it { expect(klass.stop_under_daemontools('httpd')).to eq 'svc -d /service/httpd' }
14
- it { expect(klass.restart_under_daemontools('httpd')).to eq 'svc -t /service/httpd' }
15
- it { expect(klass.reload_under_daemontools('httpd')).to eq 'svc -h /service/httpd' }
8
+ it { expect(klass.check_is_enabled_under_daemontools('httpd')).to eq "test -L $([ -d /service ] && echo /service || echo /etc/service)/httpd && test -f $([ -d /service ] && echo /service || echo /etc/service)/httpd/run" }
9
+ it { expect(klass.check_is_running_under_daemontools('httpd')).to eq "svstat $([ -d /service ] && echo /service || echo /etc/service)/httpd | grep -E 'up \\(pid [0-9]+\\)'" }
10
+ it { expect(klass.enable_under_daemontools('httpd', '/tmp/service/httpd')).to eq 'ln -snf /tmp/service/httpd $([ -d /service ] && echo /service || echo /etc/service)/httpd' }
11
+ it { expect(klass.disable_under_daemontools('httpd')).to eq '( cd $([ -d /service ] && echo /service || echo /etc/service)/httpd && rm -f $([ -d /service ] && echo /service || echo /etc/service)/httpd && svc -dx . log )' }
12
+ it { expect(klass.start_under_daemontools('httpd')).to eq 'svc -u $([ -d /service ] && echo /service || echo /etc/service)/httpd' }
13
+ it { expect(klass.stop_under_daemontools('httpd')).to eq 'svc -d $([ -d /service ] && echo /service || echo /etc/service)/httpd' }
14
+ it { expect(klass.restart_under_daemontools('httpd')).to eq 'svc -t $([ -d /service ] && echo /service || echo /etc/service)/httpd' }
15
+ it { expect(klass.reload_under_daemontools('httpd')).to eq 'svc -h $([ -d /service ] && echo /service || echo /etc/service)/httpd' }
16
16
  end
17
17
 
18
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specinfra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.34.5
4
+ version: 2.34.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-02 00:00:00.000000000 Z
11
+ date: 2015-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ssh
@@ -495,4 +495,3 @@ test_files:
495
495
  - spec/helper/set_spec.rb
496
496
  - spec/host_inventory/cpu_spec.rb
497
497
  - spec/spec_helper.rb
498
- has_rdoc: