specinfra 2.34.5 → 2.34.6

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.
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: