specinfra 2.82.25 → 2.83.2

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
- SHA256:
3
- metadata.gz: a2c62c946f1a72ca71e07015962d3fc25ef5957e4cfd39fd8e75939139302ec9
4
- data.tar.gz: df9c322631f5080aa1be9c7ccbb012f03f72ec54632762e82c87d6fbb42d7cab
2
+ SHA1:
3
+ metadata.gz: eb64f982a1db9c07f65e29062f40f76d2dbd06cc
4
+ data.tar.gz: 6e35fcccef10ee85f2798d5cd55dd35415a97007
5
5
  SHA512:
6
- metadata.gz: 717afa09a1d5bf1bd271efb86d727b634e017d71cb8d9d269460a1190f41beaf91a7afaf8fb48951b582c173a8684e7af3986cf878cc17899512cfda1c07d560
7
- data.tar.gz: 42f0389ffad21c2befc5485276bf09ec1d391db0ab8d63b2587a5f8a2f04c72f5a5627283c05f1e467575173447cbfc7bdf16be515e07a74a04b2f06facb64ba
6
+ metadata.gz: 667d26731d168fd905f3235f135bb7cf12098908b4114e3a7b2938518e5fb2e2574a12ae9f85006856a1ced27e708070d144f1e7ec299160482daadd9b91c247
7
+ data.tar.gz: cfe99453702b4169825605f8c98fba7bd7cbf35331df9fc142ee824acafb433a9c71800104e95446b8fa080b6797617bddf7d8629b1fb22fe24f78f9e48f36ae
@@ -8,6 +8,10 @@ class Specinfra::Command::Darwin::Base::Inventory < Specinfra::Command::Base::In
8
8
  'false'
9
9
  end
10
10
 
11
+ def get_kernel
12
+ 'false'
13
+ end
14
+
11
15
  def get_hostname
12
16
  'hostname -s'
13
17
  end
@@ -3,8 +3,8 @@ class Specinfra::Command::Freebsd::Base::Service < Specinfra::Command::Base::Ser
3
3
  def check_is_enabled(service, level=3)
4
4
  "service #{escape(service)} enabled"
5
5
  end
6
- def check_is_running_under_init(service)
7
- "service #{escape(service)} status | grep -E 'as (pid [0-9]+)'"
6
+ def check_is_running(service)
7
+ "service #{escape(service)} onestatus"
8
8
  end
9
9
  end
10
10
  end
@@ -10,7 +10,7 @@ module Specinfra
10
10
  return false if ret.stdout =~ /stop(ped)?\/waiting/
11
11
 
12
12
  # If the service is not registered, check by ps command
13
- if ret.exit_status == 1
13
+ if ret.exit_status == 1 && !Specinfra.configuration.no_service_process_fallback
14
14
  cmd = Specinfra.command.get(:check_process_is_running, service)
15
15
  ret = Specinfra.backend.run_command(cmd)
16
16
  end
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.82.25"
2
+ VERSION = "2.83.2"
3
3
  end
@@ -5,67 +5,96 @@ describe 'command/freebsd/service works correctly' do
5
5
  property[:os] = nil
6
6
  end
7
7
 
8
- context 'freebsd-base' do
9
- before do
10
- set :os, :family => 'freebsd'
11
- end
12
- describe 'get_command(:check_service_is_enabled, "httpd")' do
13
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
8
+ describe 'check_service_is_enabled' do
9
+ context 'freebsd-base' do
10
+ before do
11
+ set :os, :family => 'freebsd'
12
+ end
13
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
14
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
15
+ end
14
16
  end
15
- end
16
17
 
17
- context 'freebsd-6' do
18
- before do
19
- set :os, :family => 'freebsd', :release => '6'
20
- end
21
- describe 'get_command(:check_service_is_enabled, "httpd")' do
22
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
18
+ context 'freebsd-6' do
19
+ before do
20
+ set :os, :family => 'freebsd', :release => '6'
21
+ end
22
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
23
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
24
+ end
23
25
  end
24
- end
25
26
 
26
- context 'freebsd-7' do
27
- before do
28
- set :os, :family => 'freebsd', :release => '7'
29
- end
30
- describe 'get_command(:check_service_is_enabled, "httpd")' do
31
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
27
+ context 'freebsd-7' do
28
+ before do
29
+ set :os, :family => 'freebsd', :release => '7'
30
+ end
31
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
32
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
33
+ end
32
34
  end
33
- end
34
35
 
35
- context 'freebsd-8' do
36
- before do
37
- set :os, :family => 'freebsd', :release => '8'
36
+ context 'freebsd-8' do
37
+ before do
38
+ set :os, :family => 'freebsd', :release => '8'
39
+ end
40
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
41
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
42
+ end
38
43
  end
39
- describe 'get_command(:check_service_is_enabled, "httpd")' do
40
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
44
+
45
+ context 'freebsd-9' do
46
+ before do
47
+ set :os, :family => 'freebsd', :release => '9'
48
+ end
49
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
50
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
51
+ end
41
52
  end
42
- end
43
53
 
44
- context 'freebsd-9' do
45
- before do
46
- set :os, :family => 'freebsd', :release => '9'
54
+ context 'freebsd-10' do
55
+ before do
56
+ set :os, :family => 'freebsd', :release => '10'
57
+ end
58
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
59
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
60
+ end
47
61
  end
48
- describe 'get_command(:check_service_is_enabled, "httpd")' do
49
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service -e | grep -- /httpd$' }
62
+
63
+ context 'freebsd-11' do
64
+ before do
65
+ set :os, :family => 'freebsd', :release => '11'
66
+ end
67
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
68
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
69
+ end
50
70
  end
51
- end
52
71
 
53
- context 'freebsd-10' do
54
- before do
55
- set :os, :family => 'freebsd', :release => '10'
72
+ context 'freebsd-12' do
73
+ before do
74
+ set :os, :family => 'freebsd', :release => '12'
75
+ end
76
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
77
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
78
+ end
56
79
  end
57
- describe 'get_command(:check_service_is_enabled, "httpd")' do
58
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
80
+
81
+ context 'freebsd-13' do
82
+ before do
83
+ set :os, :family => 'freebsd', :release => '13'
84
+ end
85
+ describe 'get_command(:check_service_is_enabled, "httpd")' do
86
+ it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
87
+ end
59
88
  end
60
89
  end
61
90
 
62
- context 'freebsd-11' do
91
+ describe 'check_service_is_running' do
63
92
  before do
64
- set :os, :family => 'freebsd', :release => '11'
93
+ set :os, :family => 'freebsd'
65
94
  end
66
- describe 'get_command(:check_service_is_enabled, "httpd")' do
67
- it { expect(get_command(:check_service_is_enabled, 'httpd')).to eq 'service httpd enabled' }
95
+
96
+ describe 'get_command(:check_service_is_running, "foobar")' do
97
+ it { expect(get_command(:check_service_is_running, 'foobar')).to eq 'service foobar onestatus' }
68
98
  end
69
99
  end
70
100
  end
71
-
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ describe Specinfra::HostInventory::Kernel do
4
+ describe "get" do
5
+ let(:host_inventory) { Specinfra::HostInventory.instance }
6
+ let(:command_class) { Specinfra::Command::Darwin::Base }
7
+ let(:error_message) { "get_kernel is not implemented in #{command_class}" }
8
+ let(:kernel_inventory) { Specinfra::HostInventory::Kernel.new(host_inventory) }
9
+ let(:result) { kernel_inventory.get }
10
+ example "it includes the value of os_info[:arch] in the key 'machine'" do
11
+ expect(result).to include(
12
+ "machine" => host_inventory.backend.os_info[:arch]
13
+ )
14
+ end
15
+ end
16
+ end
@@ -60,4 +60,53 @@ describe Specinfra::Processor do
60
60
  end
61
61
  end
62
62
  end
63
+
64
+ describe 'check_service_is_running' do
65
+ let(:service_command) { Specinfra.command.get(:check_service_is_running, 'service_name') }
66
+ let(:process_command) { Specinfra.command.get(:check_process_is_running, 'service_name') }
67
+
68
+ context 'default settings' do
69
+ it 'does not fall back to process checking if service checking succeeds' do
70
+ allow(Specinfra.backend).to receive(:run_command).with(service_command) { CommandResult.new :exit_status => 0 }
71
+
72
+ expect(Specinfra::Processor.check_service_is_running('service_name')).to eq(true)
73
+ end
74
+
75
+ context 'when service checking fails' do
76
+ it 'falls back to checking by process and returns true if that succeeds' do
77
+ allow(Specinfra.backend).to receive(:run_command).with(service_command) { CommandResult.new :exit_status => 1 }
78
+
79
+ expect(Specinfra.backend).to receive(:run_command).with(process_command) { CommandResult.new :exit_status => 0 }
80
+
81
+ expect(Specinfra::Processor.check_service_is_running('service_name')).to eq(true)
82
+ end
83
+
84
+ it 'falls back to checking by process and returns false if that fails' do
85
+ allow(Specinfra.backend).to receive(:run_command).with(service_command) { CommandResult.new :exit_status => 1 }
86
+
87
+ expect(Specinfra.backend).to receive(:run_command).with(process_command) { CommandResult.new :exit_status => 1 }
88
+
89
+ expect(Specinfra::Processor.check_service_is_running('service_name')).to eq(false)
90
+ end
91
+ end
92
+ end
93
+
94
+ context 'no_service_process_fallback set to true' do
95
+ it 'does not fall back to checking processes if service checking succeeds' do
96
+ Specinfra.configuration.no_service_process_fallback(true)
97
+
98
+ allow(Specinfra.backend).to receive(:run_command).with(service_command) { CommandResult.new :exit_status => 0 }
99
+
100
+ expect(Specinfra::Processor.check_service_is_running('service_name')).to eq(true)
101
+ end
102
+
103
+ it 'does not fall back to checking processes if service checking fails' do
104
+ Specinfra.configuration.no_service_process_fallback(true)
105
+
106
+ allow(Specinfra.backend).to receive(:run_command).with(service_command) { CommandResult.new :exit_status => 1 }
107
+
108
+ expect(Specinfra::Processor.check_service_is_running('service_name')).to eq(false)
109
+ end
110
+ end
111
+ end
63
112
  end
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.82.25
4
+ version: 2.83.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-25 00:00:00.000000000 Z
11
+ date: 2022-03-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-scp
@@ -600,6 +600,7 @@ files:
600
600
  - spec/host_inventory/base/group_spec.rb
601
601
  - spec/host_inventory/base/user_spec.rb
602
602
  - spec/host_inventory/darwin/filesystem_spec.rb
603
+ - spec/host_inventory/darwin/kernel_spec.rb
603
604
  - spec/host_inventory/freebsd/filesystem_spec.rb
604
605
  - spec/host_inventory/linux/block_device_spec.rb
605
606
  - spec/host_inventory/linux/cpu_spec.rb
@@ -633,7 +634,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
633
634
  - !ruby/object:Gem::Version
634
635
  version: '0'
635
636
  requirements: []
636
- rubygems_version: 3.1.2
637
+ rubyforge_project:
638
+ rubygems_version: 2.5.1
637
639
  signing_key:
638
640
  specification_version: 4
639
641
  summary: Common layer for serverspec and itamae
@@ -741,6 +743,7 @@ test_files:
741
743
  - spec/host_inventory/base/group_spec.rb
742
744
  - spec/host_inventory/base/user_spec.rb
743
745
  - spec/host_inventory/darwin/filesystem_spec.rb
746
+ - spec/host_inventory/darwin/kernel_spec.rb
744
747
  - spec/host_inventory/freebsd/filesystem_spec.rb
745
748
  - spec/host_inventory/linux/block_device_spec.rb
746
749
  - spec/host_inventory/linux/cpu_spec.rb