puppet-catalog-test 0.4.0 → 0.4.1
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 +4 -4
- data/README.md +18 -0
- data/Rakefile +5 -0
- data/bin/puppet-catalog-test +5 -0
- data/lib/puppet-catalog-test.rb +1 -1
- data/lib/puppet-catalog-test/puppet_adapter/puppet_3x_adapter.rb +12 -2
- data/lib/puppet-catalog-test/rake_task.rb +7 -5
- data/puppet-catalog-test.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 517c2bbbda18dac16199a792a47cccbcf0e92903
|
4
|
+
data.tar.gz: 9d3c28e74e25f164166a840ec97974d7962ab0f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 027de364b14c2cb16138a78e04ba2eb8c02ebcc032c6de1ea573a04827ca733f88dcc5ef63ba3d853f0c9745ba60f97c79514b3f9938ea84ee6498f0e3cc9a95
|
7
|
+
data.tar.gz: c97ce7f98c65ff6acab2166784f7b28307da94a64631c42c9c74504108270e57b8db14ab2f83dddec7d4360ba0e780582c5178932c0ceb23577774072d4d36fc
|
data/README.md
CHANGED
@@ -27,6 +27,7 @@ USAGE: puppet-catalog-test [options]
|
|
27
27
|
-e, --exclude-pattern PATTERN Exclude test cases that match pattern
|
28
28
|
-s, --scenario FILE Scenario definition to use
|
29
29
|
-f, --fact KEY=VALUE Add custom fact
|
30
|
+
-p, --parser (current|future) Change puppet parser (3.2+ only)
|
30
31
|
-v, --verbose Verbose
|
31
32
|
-x, --xml Use xml report
|
32
33
|
-h, --help Show this message
|
@@ -124,6 +125,23 @@ namespace :catalog do
|
|
124
125
|
end
|
125
126
|
```
|
126
127
|
|
128
|
+
### Testing catalog with future parser
|
129
|
+
```ruby
|
130
|
+
require 'puppet-catalog-test'
|
131
|
+
|
132
|
+
namespace :catalog do
|
133
|
+
PuppetCatalogTest::RakeTask.new(:scenarios) do |t|
|
134
|
+
t.module_paths = ["modules"]
|
135
|
+
t.manifest_path = File.join("scripts", "site.pp")
|
136
|
+
|
137
|
+
t.scenario_yaml = "scenarios.yml"
|
138
|
+
t.parser = "future"
|
139
|
+
|
140
|
+
t.include_pattern = ENV["include"]
|
141
|
+
t.exclude_pattern = ENV["exclude"]
|
142
|
+
end
|
143
|
+
```
|
144
|
+
|
127
145
|
## Scenario testing
|
128
146
|
|
129
147
|
Scenarios allow testing of more complex catalogs, e.g. having conditional branches depending on custom facts.
|
data/Rakefile
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require "rake/testtask"
|
2
2
|
require "bundler/gem_tasks"
|
3
|
+
require "puppet/version"
|
4
|
+
require "rubygems"
|
3
5
|
|
4
6
|
desc "Clean workspace"
|
5
7
|
task :clean do
|
@@ -20,6 +22,9 @@ task :test_integration do
|
|
20
22
|
|
21
23
|
Dir["test/**/Rakefile"].each do |rf|
|
22
24
|
supposed_to_fail = rf.include?("failing")
|
25
|
+
if rf.include?("future-parser")
|
26
|
+
supposed_to_fail = Gem::Version.new(Puppet.version) > Gem::Version.new('3.2.0')
|
27
|
+
end
|
23
28
|
Dir.chdir rf.split("/")[0..-2].join("/")
|
24
29
|
|
25
30
|
["catalog:scenarios", "catalog:all"].each do |tc|
|
data/bin/puppet-catalog-test
CHANGED
@@ -42,6 +42,10 @@ opt_parser = OptionParser.new do |opts|
|
|
42
42
|
options[:custom_facts][k] = v
|
43
43
|
end
|
44
44
|
|
45
|
+
opts.on("-p", "--parser (current|future)", "Change puppet parser (3.2+ only)") do |arg|
|
46
|
+
options[:parser] = arg
|
47
|
+
end
|
48
|
+
|
45
49
|
opts.on("-v", "--verbose", "Verbose") do |arg|
|
46
50
|
options[:verbose] = true
|
47
51
|
end
|
@@ -68,6 +72,7 @@ pct = PuppetCatalogTest::TestRunner.new(
|
|
68
72
|
:module_paths => options[:module_paths],
|
69
73
|
:hiera_config => options[:hiera_config],
|
70
74
|
:verbose => options[:verbose],
|
75
|
+
:parser => options[:parser],
|
71
76
|
:xml => options[:xml])
|
72
77
|
|
73
78
|
filter = PuppetCatalogTest::Filter.new
|
data/lib/puppet-catalog-test.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "puppet"
|
2
|
+
require "rubygems"
|
2
3
|
|
3
4
|
module PuppetCatalogTest
|
4
5
|
class Puppet3xAdapter < BasePuppetAdapter
|
@@ -6,9 +7,10 @@ module PuppetCatalogTest
|
|
6
7
|
super(config)
|
7
8
|
|
8
9
|
require 'puppet/test/test_helper'
|
10
|
+
parser = config[:parser]
|
9
11
|
|
10
|
-
#
|
11
|
-
if version.
|
12
|
+
# initialize was added in 3.1.0
|
13
|
+
if Gem::Version.new(version) > Gem::Version.new('3.1.0')
|
12
14
|
Puppet::Test::TestHelper.initialize
|
13
15
|
end
|
14
16
|
|
@@ -19,6 +21,14 @@ module PuppetCatalogTest
|
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
24
|
+
# future parser was added in 3.2.0
|
25
|
+
if parser and Gem::Version.new(version) > Gem::Version.new('3.2.0')
|
26
|
+
parser_regex = /^(current|future)$/
|
27
|
+
raise ArgumentError, "[ERROR] parser (#{parser}) is not a valid parser, should be 'current' or 'future'" if !parser.match(parser_regex)
|
28
|
+
puts "[INFO] Using #{parser} puppet parser"
|
29
|
+
Puppet.settings[:parser] = parser
|
30
|
+
end
|
31
|
+
|
22
32
|
Puppet.parse_config
|
23
33
|
end
|
24
34
|
|
@@ -5,14 +5,15 @@ module PuppetCatalogTest
|
|
5
5
|
class RakeTask < ::Rake::TaskLib
|
6
6
|
include ::Rake::DSL if defined?(::Rake::DSL)
|
7
7
|
|
8
|
-
attr_accessor :module_paths
|
9
|
-
attr_accessor :manifest_path
|
10
8
|
attr_accessor :config_dir
|
11
|
-
attr_accessor :scenario_yaml
|
12
|
-
attr_accessor :include_pattern
|
13
9
|
attr_accessor :exclude_pattern
|
14
10
|
attr_accessor :facts
|
11
|
+
attr_accessor :include_pattern
|
12
|
+
attr_accessor :manifest_path
|
13
|
+
attr_accessor :module_paths
|
14
|
+
attr_accessor :parser
|
15
15
|
attr_accessor :reporter
|
16
|
+
attr_accessor :scenario_yaml
|
16
17
|
attr_accessor :verbose
|
17
18
|
|
18
19
|
def initialize(name, &task_block)
|
@@ -26,9 +27,10 @@ module PuppetCatalogTest
|
|
26
27
|
|
27
28
|
def setup
|
28
29
|
puppet_config = {
|
30
|
+
:config_dir => @config_dir,
|
29
31
|
:manifest_path => @manifest_path,
|
30
32
|
:module_paths => @module_paths,
|
31
|
-
:
|
33
|
+
:parser => @parser,
|
32
34
|
:verbose => @verbose
|
33
35
|
}
|
34
36
|
|
data/puppet-catalog-test.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'puppet-catalog-test'
|
3
|
-
s.version = '0.4.
|
3
|
+
s.version = '0.4.1'
|
4
4
|
s.homepage = 'https://github.com/invadersmustdie/puppet-catalog-test/'
|
5
5
|
s.summary = 'Test all your puppet catalogs for compiler warnings and errors'
|
6
6
|
s.description = 'Test all your puppet catalogs for compiler warnings and errors.'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-catalog-test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rene Lengwinat
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
95
|
version: '0'
|
96
96
|
requirements: []
|
97
97
|
rubyforge_project:
|
98
|
-
rubygems_version: 2.
|
98
|
+
rubygems_version: 2.5.1
|
99
99
|
signing_key:
|
100
100
|
specification_version: 4
|
101
101
|
summary: Test all your puppet catalogs for compiler warnings and errors
|