beaker 1.14.1 → 1.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/HISTORY.md +14392 -0
- data/lib/beaker/dsl/helpers.rb +2 -4
- data/lib/beaker/dsl/install_utils.rb +2 -2
- data/lib/beaker/host/unix.rb +0 -1
- data/lib/beaker/logger.rb +3 -2
- data/lib/beaker/platform.rb +12 -6
- data/lib/beaker/result.rb +3 -2
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/helpers_spec.rb +7 -4
- data/spec/beaker/platform_spec.rb +5 -0
- metadata +3 -2
data/lib/beaker/dsl/helpers.rb
CHANGED
@@ -689,10 +689,8 @@ module Beaker
|
|
689
689
|
|
690
690
|
# @!visibility private
|
691
691
|
def bounce_service host, service, curl_retries = 120
|
692
|
-
|
693
|
-
|
694
|
-
# host.exec puppet_resource( 'service', service, 'ensure=running' )
|
695
|
-
host.exec( Command.new( "#{host['service-prefix']}#{service} restart" ) )
|
692
|
+
host.exec puppet_resource( 'service', service, 'ensure=stopped' )
|
693
|
+
host.exec puppet_resource( 'service', service, 'ensure=running' )
|
696
694
|
curl_with_retries(" #{service} ", host, "https://localhost:8140", [35, 60], curl_retries)
|
697
695
|
end
|
698
696
|
|
@@ -603,7 +603,7 @@ module Beaker
|
|
603
603
|
host.install_package('lsb-release')
|
604
604
|
end
|
605
605
|
|
606
|
-
if ! host.
|
606
|
+
if ! host.check_for_command 'curl'
|
607
607
|
on host, 'apt-get install -y curl'
|
608
608
|
end
|
609
609
|
|
@@ -688,7 +688,7 @@ module Beaker
|
|
688
688
|
# @raise [StandardError] if gem does not exist on target host
|
689
689
|
# @api private
|
690
690
|
def install_puppet_from_gem( host, opts )
|
691
|
-
if host.
|
691
|
+
if host.check_for_command( 'gem' )
|
692
692
|
if opts[:facter_version]
|
693
693
|
on host, "gem install facter -v#{opts[:facter_version]}"
|
694
694
|
end
|
data/lib/beaker/host/unix.rb
CHANGED
data/lib/beaker/logger.rb
CHANGED
@@ -143,8 +143,9 @@ module Beaker
|
|
143
143
|
else
|
144
144
|
if string.respond_to?( :encode )
|
145
145
|
# We're running in >= 1.9 and we'll need to convert
|
146
|
-
# Remove
|
147
|
-
|
146
|
+
# Remove invalid and undefined UTF-8 character encodings
|
147
|
+
encoding = Encoding ? Encoding.default_external : "UTF-8"
|
148
|
+
return string.encode(encoding, string.encoding, :invalid => :replace, :undef => :replace, :replace => '')
|
148
149
|
else
|
149
150
|
# We're running 1.8, do nothing
|
150
151
|
string
|
data/lib/beaker/platform.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
module Beaker
|
2
|
-
#This class create a Platform object inheriting from String. It supports
|
3
|
-
#several platform-specific use cases.
|
2
|
+
# This class create a Platform object inheriting from String. It supports
|
3
|
+
# all String methods while adding several platform-specific use cases.
|
4
4
|
class Platform < String
|
5
|
-
#Supported platforms
|
5
|
+
# Supported platforms
|
6
6
|
PLATFORMS = /^(osx|centos|fedora|debian|oracle|redhat|scientific|sles|ubuntu|windows|solaris|aix|el)\-.+\-.+$/
|
7
|
-
|
7
|
+
|
8
|
+
# Platform version numbers vs. codenames conversion hash
|
8
9
|
PLATFORM_VERSION_CODES =
|
9
10
|
{ :debian => { "wheezy" => "7",
|
10
11
|
"squeeze" => "6",
|
@@ -14,21 +15,26 @@ module Beaker
|
|
14
15
|
"raring" => "1304",
|
15
16
|
"quantal" => "1210",
|
16
17
|
"precise" => "1204",
|
18
|
+
"lucid" => "1004",
|
17
19
|
},
|
18
20
|
}
|
19
21
|
|
20
22
|
# A string with the name of the platform.
|
21
23
|
attr_reader :variant
|
24
|
+
|
22
25
|
# A string with the version number of the platform.
|
23
26
|
attr_reader :version
|
27
|
+
|
24
28
|
# A string with the codename of the platform+version, nil on platforms
|
25
29
|
# without codenames.
|
26
30
|
attr_reader :codename
|
31
|
+
|
27
32
|
# A string with the cpu architecture of the platform.
|
28
33
|
attr_reader :arch
|
29
34
|
|
30
|
-
#Creates the Platform object. Checks to ensure that the platform String
|
31
|
-
#formatting rules. Platforms name must be of
|
35
|
+
# Creates the Platform object. Checks to ensure that the platform String
|
36
|
+
# provided meets the platform formatting rules. Platforms name must be of
|
37
|
+
# the format /^OSFAMILY-VERSION-ARCH.*$/ where OSFAMILY is one of:
|
32
38
|
# * osx
|
33
39
|
# * centos
|
34
40
|
# * fedora
|
data/lib/beaker/result.rb
CHANGED
@@ -33,8 +33,9 @@ module Beaker
|
|
33
33
|
def convert string
|
34
34
|
if string.respond_to?( :encode )
|
35
35
|
# We're running in >= 1.9 and we'll need to convert
|
36
|
-
# Remove
|
37
|
-
|
36
|
+
# Remove invalid and undefined UTF-8 character encodings
|
37
|
+
encoding = Encoding ? Encoding.default_external : "UTF-8"
|
38
|
+
return string.encode(encoding, string.encoding, :invalid => :replace, :undef => :replace, :replace => '')
|
38
39
|
else
|
39
40
|
# We're running in < 1.9 and Ruby doesn't care
|
40
41
|
return string
|
data/lib/beaker/version.rb
CHANGED
@@ -761,7 +761,7 @@ describe ClassMixedWithDSLHelpers do
|
|
761
761
|
let(:test_case_path) { 'testcase/path' }
|
762
762
|
let(:tmpdir_path) { '/tmp/tmpdir' }
|
763
763
|
let(:puppet_path) { '/puppet/path' }
|
764
|
-
let(:puppetservice) {
|
764
|
+
let(:puppetservice) { nil }
|
765
765
|
let(:is_pe) { false }
|
766
766
|
let(:host) do
|
767
767
|
FakeHost.new(:pe => is_pe,
|
@@ -805,7 +805,8 @@ describe ClassMixedWithDSLHelpers do
|
|
805
805
|
it 'bounces puppet twice' do
|
806
806
|
subject.stub(:curl_with_retries)
|
807
807
|
subject.with_puppet_running_on(host, {})
|
808
|
-
expect(host).to execute_commands_matching(
|
808
|
+
expect(host).to execute_commands_matching(/puppet resource service #{puppetservice} ensure=stopped/).exactly(2).times
|
809
|
+
expect(host).to execute_commands_matching(/puppet resource service #{puppetservice} ensure=running/).exactly(2).times
|
809
810
|
end
|
810
811
|
|
811
812
|
it 'yield to a block after bouncing service' do
|
@@ -813,11 +814,13 @@ describe ClassMixedWithDSLHelpers do
|
|
813
814
|
subject.stub(:curl_with_retries)
|
814
815
|
expect do
|
815
816
|
subject.with_puppet_running_on(host, {}) do
|
816
|
-
expect(host).to execute_commands_matching(
|
817
|
+
expect(host).to execute_commands_matching(/puppet resource service #{puppetservice} ensure=stopped/).once
|
818
|
+
expect(host).to execute_commands_matching(/puppet resource service #{puppetservice} ensure=running/).once
|
817
819
|
execution += 1
|
818
820
|
end
|
819
821
|
end.to change { execution }.by(1)
|
820
|
-
expect(host).to execute_commands_matching(
|
822
|
+
expect(host).to execute_commands_matching(/puppet resource service #{puppetservice} ensure=stopped/).exactly(2).times
|
823
|
+
expect(host).to execute_commands_matching(/puppet resource service #{puppetservice} ensure=running/).exactly(2).times
|
821
824
|
end
|
822
825
|
end
|
823
826
|
|
@@ -74,6 +74,11 @@ module Beaker
|
|
74
74
|
expect( platform.with_version_codename ).to be === 'ubuntu-quantal-xxx'
|
75
75
|
end
|
76
76
|
|
77
|
+
it "can convert ubuntu-10.04-xxx to ubuntu-lucid-xxx" do
|
78
|
+
@name = 'ubuntu-10.04-xxx'
|
79
|
+
expect( platform.with_version_codename ).to be === 'ubuntu-lucid-xxx'
|
80
|
+
end
|
81
|
+
|
77
82
|
it "leaves centos-7-xxx alone" do
|
78
83
|
@name = 'centos-7-xxx'
|
79
84
|
expect( platform.with_version_codename ).to be === 'centos-7-xxx'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -332,6 +332,7 @@ files:
|
|
332
332
|
- .travis.yml
|
333
333
|
- DOCUMENTING.md
|
334
334
|
- Gemfile
|
335
|
+
- HISTORY.md
|
335
336
|
- LICENSE
|
336
337
|
- README.md
|
337
338
|
- Rakefile
|