beaker 1.14.1 → 1.15.0
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 +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
         |