(MODULES-4098) Sync the rest of the files
authorHunter Haugen <hunter@puppet.com>
Fri, 20 Jan 2017 00:17:47 +0000 (16:17 -0800)
committerHunter Haugen <hunter@puppet.com>
Tue, 24 Jan 2017 19:13:55 +0000 (11:13 -0800)
14 files changed:
.gitignore
.project
.sync.yml
CONTRIBUTING.md
Gemfile
MAINTAINERS.md [new file with mode: 0644]
Rakefile
appveyor.yml [new file with mode: 0644]
spec/functions/deprecation_spec.rb
spec/functions/load_module_metadata_spec.rb
spec/functions/loadjson_spec.rb
spec/functions/validate_cmd_spec.rb
spec/functions/validate_legacy_spec.rb
spec/unit/puppet/type/file_line_spec.rb

index 33bc5ff..07aff17 100644 (file)
@@ -1,15 +1,27 @@
 #This file is generated by ModuleSync, do not edit.
 pkg/
 Gemfile.lock
+Gemfile.local
 vendor/
 spec/fixtures/manifests/
 spec/fixtures/modules/
+log/
+junit/
 .vagrant/
 .bundle/
 coverage/
 log/
 .idea/
+.metadata
 *.iml
+.*.sw[op]
+.yardoc
+.yardwarns
+.DS_Store
+tmp/
+vendor/
+doc/
+
 !spec/fixtures/
 spec/fixtures/manifests/site.pp
 spec/fixtures/modules/*
index 4e2c033..6d71ee5 100644 (file)
--- a/.project
+++ b/.project
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-       <name>stdlib</name>
+       <name>puppetlabs-stdlib</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
-                       <name>org.cloudsmith.geppetto.pp.dsl.ui.modulefileBuilder</name>
+                       <name>com.puppetlabs.geppetto.pp.dsl.ui.modulefileBuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
@@ -17,7 +17,7 @@
                </buildCommand>
        </buildSpec>
        <natures>
-               <nature>org.cloudsmith.geppetto.pp.dsl.ui.puppetNature</nature>
+               <nature>com.puppetlabs.geppetto.pp.dsl.ui.puppetNature</nature>
                <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
        </natures>
 </projectDescription>
index 34cfb5f..a870bb7 100644 (file)
--- a/.sync.yml
+++ b/.sync.yml
@@ -1,4 +1,6 @@
 ---
+NOTICE:
+  unmanaged: true
 .gitignore:
   paths:
     - '!spec/fixtures/'
index 3c3f1e7..990edba 100644 (file)
@@ -43,7 +43,7 @@ Checklist (and a short version for the impatient)
 
       - Make sure you have a [GitHub account](https://github.com/join)
 
-      - [Create a ticket](https://tickets.puppetlabs.com/secure/CreateIssue!default.jspa), or [watch the ticket](https://tickets.puppetlabs.com/browse/) you are patching for.
+      - [Create a ticket](https://tickets.puppet.com/secure/CreateIssue!default.jspa), or [watch the ticket](https://tickets.puppet.com/browse/) you are patching for.
 
     * Preferred method:
 
@@ -215,4 +215,3 @@ Additional Resources
 * [General GitHub documentation](http://help.github.com/)
 
 * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
-
diff --git a/Gemfile b/Gemfile
index 5820775..5d86325 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -49,15 +49,13 @@ group :development do
   gem 'json_pure', '<= 2.0.1',              :require => false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
   gem 'fast_gettext', '1.1.0',              :require => false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
   gem 'fast_gettext',                       :require => false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
+  gem 'rainbow', '< 2.2.0',                 :require => false
 end
 
 group :system_tests do
-  gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '~> 2.20')                if supports_windows
-  gem 'beaker', *location_for(ENV['BEAKER_VERSION'])                             if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0') and ! supports_windows
-  gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '< 3')                    if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.3.0') and ! supports_windows
-  gem 'beaker-pe',                                                               :require => false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')
-  gem 'beaker-rspec', *location_for(ENV['BEAKER_RSPEC_VERSION'] || '>= 3.4')     if ! supports_windows
-  gem 'beaker-rspec', *location_for(ENV['BEAKER_RSPEC_VERSION'] || '~> 5.1')     if supports_windows
+  gem 'beaker', *location_for(ENV['BEAKER_VERSION'] || '>= 3')                  
+  gem 'beaker-pe',                                                               :require => false
+  gem 'beaker-rspec', *location_for(ENV['BEAKER_RSPEC_VERSION'])                
   gem 'beaker-puppet_install_helper',                                            :require => false
   gem 'beaker-module_install_helper',                                            :require => false
   gem 'master_manipulator',                                                      :require => false
diff --git a/MAINTAINERS.md b/MAINTAINERS.md
new file mode 100644 (file)
index 0000000..e8004a5
--- /dev/null
@@ -0,0 +1,6 @@
+## Maintenance
+
+Maintainers:
+  - Puppet Forge Modules Team `forge-modules |at| puppet |dot| com`
+
+Tickets: https://tickets.puppet.com/browse/MODULES. Make sure to set component to `stdlib`.
index 3e8d4cb..d12d854 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -1,10 +1,9 @@
-require 'puppet_blacksmith/rake_tasks'
-require 'puppet-lint/tasks/puppet-lint'
 require 'puppetlabs_spec_helper/rake_tasks'
+require 'puppet-lint/tasks/puppet-lint'
+require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
 
+PuppetLint.configuration.fail_on_warnings = true
 PuppetLint.configuration.send('relative')
-PuppetLint.configuration.send('disable_documentation')
-PuppetLint.configuration.send('disable_single_quote_string_with_variables')
 
 desc 'Generate pooler nodesets'
 task :gen_nodeset do
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644 (file)
index 0000000..c87ed7c
--- /dev/null
@@ -0,0 +1,40 @@
+version: 1.1.x.{build}
+skip_commits:
+  message: /^\(?doc\)?.*/
+clone_depth: 10
+init:
+- SET
+- 'mkdir C:\ProgramData\PuppetLabs\code && exit 0'
+- 'mkdir C:\ProgramData\PuppetLabs\facter && exit 0'
+- 'mkdir C:\ProgramData\PuppetLabs\hiera && exit 0'
+- 'mkdir C:\ProgramData\PuppetLabs\puppet\var && exit 0'
+environment:
+  matrix:
+  - PUPPET_GEM_VERSION: ~> 4.0
+    RUBY_VER: 21
+  - PUPPET_GEM_VERSION: ~> 4.0
+    RUBY_VER: 21-x64
+  - PUPPET_GEM_VERSION: ~> 4.0
+    RUBY_VER: 23
+  - PUPPET_GEM_VERSION: ~> 4.0
+    RUBY_VER: 23-x64
+  - PUPPET_GEM_VERSION: 4.2.3
+    RUBY_VER: 21-x64
+matrix:
+  fast_finish: true
+install:
+- SET PATH=C:\Ruby%RUBY_VER%\bin;%PATH%
+- bundle install --jobs 4 --retry 2 --without system_tests
+- type Gemfile.lock
+build: off
+test_script:
+- bundle exec puppet -V
+- ruby -v
+- bundle exec rake spec SPEC_OPTS='--format documentation'
+notifications:
+- provider: Email
+  to:
+  - nobody@nowhere.com
+  on_build_success: false
+  on_build_failure: false
+  on_build_status_changed: false
index cee4f1c..8a65b69 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper'
 
-if Puppet.version.to_f >= 4.0
+if Puppet.version.to_f >= 4.5
   describe 'deprecation' do
     before(:each) {
       # this is to reset the strict variable to default
@@ -40,7 +40,7 @@ if Puppet.version.to_f >= 4.0
       Puppet.settings[:strict] = :warning
     }
   end
-else
+elsif Puppet.version.to_f < 4.0
   # Puppet version < 4 will use these tests.
   describe 'deprecation' do
     after(:all) do
index 1a61e2c..2ba41a5 100755 (executable)
@@ -7,30 +7,43 @@ describe 'load_module_metadata' do
 
   describe "when calling with valid arguments" do
     before :each do
-      if RSpec.configuration.puppet_future
-        allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
-      else
-        allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
-      end
+      allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
+      allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
     end
     it "should json parse the file" do
-      allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
-      allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(true)
-      allow(File).to receive(:read).with('/path/to/module/metadata.json').and_return('{"name": "spencer-science"}')
+      if Puppet::Util::Platform.windows?
+        allow(scope).to receive(:function_get_module_path).with(['science']).and_return('C:/path/to/module/')
+        allow(File).to receive(:exists?).with('C:/path/to/module/metadata.json').and_return(true)
+        allow(File).to receive(:read).with('C:/path/to/module/metadata.json').and_return('{"name": "spencer-science"}')
+      else
+        allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
+        allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(true)
+        allow(File).to receive(:read).with('/path/to/module/metadata.json').and_return('{"name": "spencer-science"}')
+      end
 
       result = subject.call(['science'])
       expect(result['name']).to eq('spencer-science')
     end
 
     it "should fail by default if there is no metadata.json" do
-      allow(scope).to   receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
-      allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
+      if Puppet::Util::Platform.windows?
+        allow(scope).to receive(:function_get_module_path).with(['science']).and_return('C:/path/to/module/')
+        allow(File).to receive(:exists?).with('C:/path/to/module/metadata.json').and_return(false)
+      else
+        allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
+        allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
+      end
       expect {subject.call(['science'])}.to raise_error(Puppet::ParseError)
     end
 
     it "should return nil if user allows empty metadata.json" do
-      allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
-      allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
+      if Puppet::Util::Platform.windows?
+        allow(scope).to receive(:function_get_module_path).with(['science']).and_return('C:/path/to/module/')
+        allow(File).to receive(:exists?).with('C:/path/to/module/metadata.json').and_return(false)
+      else
+        allow(scope).to receive(:function_get_module_path).with(['science']).and_return('/path/to/module/')
+        allow(File).to receive(:exists?).with('/path/to/module/metadata.json').and_return(false)
+      end
       result = subject.call(['science', true])
       expect(result).to eq({})
     end
index a00dff9..9d26e93 100644 (file)
@@ -6,15 +6,18 @@ describe 'loadjson' do
 
   describe "when calling with valid arguments" do
     before :each do
-      if RSpec.configuration.puppet_future
-        allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
-      else
-        allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
-      end
+      allow(File).to receive(:read).with(/\/stdlib\/metadata.json/, {:encoding=>"utf-8"}).and_return('{"name": "puppetlabs-stdlib"}')
+      allow(File).to receive(:read).with(/\/stdlib\/metadata.json/).and_return('{"name": "puppetlabs-stdlib"}')
     end
 
     context 'when a non-existing file is specified' do
-      let(:filename) { '/tmp/doesnotexist' }
+      let(:filename) {
+        if Puppet::Util::Platform.windows?
+          'C:/tmp/doesnotexist'
+        else
+          '/tmp/doesnotexist'
+        end
+      }
       before {
         allow(File).to receive(:exists?).with(filename).and_return(false).once
         allow(PSON).to receive(:load).never
@@ -23,7 +26,13 @@ describe 'loadjson' do
     end
 
     context 'when an existing file is specified' do
-      let(:filename) { '/tmp/doesexist' }
+      let(:filename) {
+        if Puppet::Util::Platform.windows?
+          'C:/tmp/doesexist'
+        else
+          '/tmp/doesexist'
+        end
+      }
       let(:data) { { 'key' => 'value' } }
       let(:json) { '{"key":"value"}' }
       before {
@@ -36,7 +45,13 @@ describe 'loadjson' do
     end
 
     context 'when the file could not be parsed' do
-      let(:filename) { '/tmp/doesexist' }
+      let(:filename) {
+        if Puppet::Util::Platform.windows?
+          'C:/tmp/doesexist'
+        else
+          '/tmp/doesexist'
+        end
+      }
       let(:json) { '{"key":"value"}' }
       before {
         allow(File).to receive(:exists?).with(filename).and_return(true).once
index ab0cbc9..c6559e8 100755 (executable)
@@ -1,6 +1,6 @@
 require 'spec_helper'
 
-describe 'validate_cmd' do
+describe 'validate_cmd', :unless => Puppet::Util::Platform.windows? do
   let(:touch) { File.exists?('/usr/bin/touch') ? '/usr/bin/touch' : '/bin/touch' }
 
   describe 'signature validation' do
index 50cb317..10b2aee 100644 (file)
@@ -1,6 +1,6 @@
 require 'spec_helper'
 
-if Puppet.version.to_f >= 4.0
+if Puppet.version.to_f >= 4.4
   describe 'validate_legacy' do
     it { is_expected.not_to eq(nil) }
     it { is_expected.to run.with_params.and_raise_error(ArgumentError) }
index 48e2670..c559e44 100755 (executable)
@@ -2,14 +2,28 @@
 require 'spec_helper'
 require 'tempfile'
 describe Puppet::Type.type(:file_line) do
+  let :tmp_path do
+    if Puppet::Util::Platform.windows?
+      'C:\tmp\path'
+    else
+      '/tmp/path'
+    end
+  end
+  let :my_path do
+    if Puppet::Util::Platform.windows?
+      'C:\my\path'
+    else
+      '/my/path'
+    end
+  end
   let :file_line do
-    Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'line', :path => '/tmp/path')
+    Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'line', :path => tmp_path)
   end
   it 'should accept a line and path' do
     file_line[:line] = 'my_line'
     expect(file_line[:line]).to eq('my_line')
-    file_line[:path] = '/my/path'
-    expect(file_line[:path]).to eq('/my/path')
+    file_line[:path] = my_path
+    expect(file_line[:path]).to eq(my_path)
   end
   it 'should accept a match regex' do
     file_line[:match] = '^foo.*$'
@@ -19,7 +33,7 @@ describe Puppet::Type.type(:file_line) do
     expect {
       Puppet::Type.type(:file_line).new(
           :name   => 'foo',
-          :path   => '/my/path',
+          :path   => my_path,
           :line   => 'foo=bar',
           :match  => '^bar=blah$'
     )}.not_to raise_error
@@ -28,23 +42,23 @@ describe Puppet::Type.type(:file_line) do
     expect {
       Puppet::Type.type(:file_line).new(
           :name   => 'foo',
-          :path   => '/my/path',
+          :path   => my_path,
           :line   => 'foo=bar',
           :match  => '^\s*foo=.*$'
       )}.not_to raise_error
   end
   it 'should accept posix filenames' do
-    file_line[:path] = '/tmp/path'
-    expect(file_line[:path]).to eq('/tmp/path')
+    file_line[:path] = tmp_path
+    expect(file_line[:path]).to eq(tmp_path)
   end
   it 'should not accept unqualified path' do
     expect { file_line[:path] = 'file' }.to raise_error(Puppet::Error, /File paths must be fully qualified/)
   end
   it 'should require that a line is specified' do
-    expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => '/tmp/file') }.to raise_error(Puppet::Error, /line is a required attribute/)
+    expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => tmp_path) }.to raise_error(Puppet::Error, /line is a required attribute/)
   end
   it 'should not require that a line is specified when matching for absence' do
-    expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => '/tmp/file', :ensure => :absent, :match_for_absence => :true, :match => 'match') }.not_to raise_error
+    expect { Puppet::Type.type(:file_line).new(:name => 'foo', :path => tmp_path, :ensure => :absent, :match_for_absence => :true, :match => 'match') }.not_to raise_error
   end
   it 'should require that a file is specified' do
     expect { Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'path') }.to raise_error(Puppet::Error, /path is a required attribute/)
@@ -58,12 +72,12 @@ describe Puppet::Type.type(:file_line) do
 
   it "should autorequire the file it manages" do
     catalog = Puppet::Resource::Catalog.new
-    file = Puppet::Type.type(:file).new(:name => "/tmp/path")
+    file = Puppet::Type.type(:file).new(:name => tmp_path)
     catalog.add_resource file
     catalog.add_resource file_line
 
     relationship = file_line.autorequire.find do |rel|
-      (rel.source.to_s == "File[/tmp/path]") and (rel.target.to_s == file_line.to_s)
+      (rel.source.to_s == "File[#{tmp_path}]") and (rel.target.to_s == file_line.to_s)
     end
     expect(relationship).to be_a Puppet::Relationship
   end