puppetlabs_spec_helper 1.1.1 → 2.0.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 +4 -4
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +504 -0
- data/.travis.yml +17 -6
- data/CHANGELOG.md +70 -4
- data/CONTRIBUTING.md +5 -46
- data/Gemfile +15 -9
- data/{README.markdown → README.md} +190 -65
- data/Rakefile +5 -40
- data/lib/puppetlabs_spec_helper/module_spec_helper.rb +2 -8
- data/lib/puppetlabs_spec_helper/puppetlabs_spec/puppet_internals.rb +2 -0
- data/lib/puppetlabs_spec_helper/rake_tasks.rb +175 -24
- data/lib/puppetlabs_spec_helper/version.rb +4 -1
- data/puppetlabs_spec_helper.gemspec +28 -83
- metadata +79 -54
- data/spec/lib/puppet/type/spechelper.rb +0 -6
- data/spec/spec_helper.rb +0 -2
- data/spec/unit/puppetlabs_spec_helper/puppetlabs_spec/puppet_internals_spec.rb +0 -91
- data/spec/watchr.rb +0 -79
metadata
CHANGED
|
@@ -1,87 +1,88 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: puppetlabs_spec_helper
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
- Puppet
|
|
7
|
+
- Puppet, Inc.
|
|
8
|
+
- Community Contributors
|
|
8
9
|
autorequire:
|
|
9
|
-
bindir:
|
|
10
|
+
bindir: exe
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
+
date: 2017-02-07 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
15
|
+
name: mocha
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
16
17
|
requirements:
|
|
17
|
-
- - "
|
|
18
|
+
- - "~>"
|
|
18
19
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0'
|
|
20
|
+
version: '1.0'
|
|
20
21
|
type: :runtime
|
|
21
22
|
prerelease: false
|
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
24
|
requirements:
|
|
24
|
-
- - "
|
|
25
|
+
- - "~>"
|
|
25
26
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0'
|
|
27
|
+
version: '1.0'
|
|
27
28
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
29
|
+
name: puppet-lint
|
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
|
30
31
|
requirements:
|
|
31
|
-
- - "
|
|
32
|
+
- - "~>"
|
|
32
33
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
+
version: '2.0'
|
|
34
35
|
type: :runtime
|
|
35
36
|
prerelease: false
|
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
38
|
requirements:
|
|
38
|
-
- - "
|
|
39
|
+
- - "~>"
|
|
39
40
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
41
|
+
version: '2.0'
|
|
41
42
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: puppet-
|
|
43
|
+
name: puppet-syntax
|
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
|
44
45
|
requirements:
|
|
45
|
-
- - "
|
|
46
|
+
- - "~>"
|
|
46
47
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
+
version: '2.0'
|
|
48
49
|
type: :runtime
|
|
49
50
|
prerelease: false
|
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
52
|
requirements:
|
|
52
|
-
- - "
|
|
53
|
+
- - "~>"
|
|
53
54
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
+
version: '2.0'
|
|
55
56
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: puppet
|
|
57
|
+
name: rspec-puppet
|
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
|
58
59
|
requirements:
|
|
59
|
-
- - "
|
|
60
|
+
- - "~>"
|
|
60
61
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
|
+
version: '2.0'
|
|
62
63
|
type: :runtime
|
|
63
64
|
prerelease: false
|
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
66
|
requirements:
|
|
66
|
-
- - "
|
|
67
|
+
- - "~>"
|
|
67
68
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '0'
|
|
69
|
+
version: '2.0'
|
|
69
70
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
71
|
+
name: bundler
|
|
71
72
|
requirement: !ruby/object:Gem::Requirement
|
|
72
73
|
requirements:
|
|
73
|
-
- - "
|
|
74
|
+
- - "~>"
|
|
74
75
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
76
|
-
type: :
|
|
76
|
+
version: '1.12'
|
|
77
|
+
type: :development
|
|
77
78
|
prerelease: false
|
|
78
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
80
|
requirements:
|
|
80
|
-
- - "
|
|
81
|
+
- - "~>"
|
|
81
82
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
83
|
+
version: '1.12'
|
|
83
84
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
85
|
+
name: pry
|
|
85
86
|
requirement: !ruby/object:Gem::Requirement
|
|
86
87
|
requirements:
|
|
87
88
|
- - ">="
|
|
@@ -95,21 +96,49 @@ dependencies:
|
|
|
95
96
|
- !ruby/object:Gem::Version
|
|
96
97
|
version: '0'
|
|
97
98
|
- !ruby/object:Gem::Dependency
|
|
98
|
-
name:
|
|
99
|
+
name: puppet
|
|
99
100
|
requirement: !ruby/object:Gem::Requirement
|
|
100
101
|
requirements:
|
|
101
|
-
- - "
|
|
102
|
+
- - "~>"
|
|
102
103
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
104
|
+
version: '3'
|
|
104
105
|
type: :development
|
|
105
106
|
prerelease: false
|
|
106
107
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
108
|
requirements:
|
|
108
|
-
- - "
|
|
109
|
+
- - "~>"
|
|
109
110
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
111
|
+
version: '3'
|
|
112
|
+
- !ruby/object:Gem::Dependency
|
|
113
|
+
name: rake
|
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
|
115
|
+
requirements:
|
|
116
|
+
- - "~>"
|
|
117
|
+
- !ruby/object:Gem::Version
|
|
118
|
+
version: '10.0'
|
|
119
|
+
type: :development
|
|
120
|
+
prerelease: false
|
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
+
requirements:
|
|
123
|
+
- - "~>"
|
|
124
|
+
- !ruby/object:Gem::Version
|
|
125
|
+
version: '10.0'
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
|
112
|
-
name:
|
|
127
|
+
name: rspec
|
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
|
129
|
+
requirements:
|
|
130
|
+
- - "~>"
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: '3.0'
|
|
133
|
+
type: :development
|
|
134
|
+
prerelease: false
|
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
136
|
+
requirements:
|
|
137
|
+
- - "~>"
|
|
138
|
+
- !ruby/object:Gem::Version
|
|
139
|
+
version: '3.0'
|
|
140
|
+
- !ruby/object:Gem::Dependency
|
|
141
|
+
name: yard
|
|
113
142
|
requirement: !ruby/object:Gem::Requirement
|
|
114
143
|
requirements:
|
|
115
144
|
- - ">="
|
|
@@ -123,36 +152,37 @@ dependencies:
|
|
|
123
152
|
- !ruby/object:Gem::Version
|
|
124
153
|
version: '0'
|
|
125
154
|
- !ruby/object:Gem::Dependency
|
|
126
|
-
name:
|
|
155
|
+
name: gettext-setup
|
|
127
156
|
requirement: !ruby/object:Gem::Requirement
|
|
128
157
|
requirements:
|
|
129
158
|
- - "~>"
|
|
130
159
|
- !ruby/object:Gem::Version
|
|
131
|
-
version:
|
|
160
|
+
version: '0.13'
|
|
132
161
|
type: :development
|
|
133
162
|
prerelease: false
|
|
134
163
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
164
|
requirements:
|
|
136
165
|
- - "~>"
|
|
137
166
|
- !ruby/object:Gem::Version
|
|
138
|
-
version:
|
|
167
|
+
version: '0.13'
|
|
139
168
|
description: Contains rake tasks and a standard spec_helper for running spec tests
|
|
140
|
-
on puppet modules
|
|
169
|
+
on puppet modules.
|
|
141
170
|
email:
|
|
142
|
-
- modules-
|
|
171
|
+
- modules-team@puppet.com
|
|
143
172
|
executables: []
|
|
144
173
|
extensions: []
|
|
145
|
-
extra_rdoc_files:
|
|
146
|
-
- LICENSE
|
|
147
|
-
- README.markdown
|
|
174
|
+
extra_rdoc_files: []
|
|
148
175
|
files:
|
|
176
|
+
- ".gitignore"
|
|
149
177
|
- ".noexec.yaml"
|
|
178
|
+
- ".rspec"
|
|
179
|
+
- ".rubocop.yml"
|
|
150
180
|
- ".travis.yml"
|
|
151
181
|
- CHANGELOG.md
|
|
152
182
|
- CONTRIBUTING.md
|
|
153
183
|
- Gemfile
|
|
154
184
|
- LICENSE
|
|
155
|
-
- README.
|
|
185
|
+
- README.md
|
|
156
186
|
- Rakefile
|
|
157
187
|
- lib/puppetlabs_spec_helper/module_spec_helper.rb
|
|
158
188
|
- lib/puppetlabs_spec_helper/puppet_spec_helper.rb
|
|
@@ -166,13 +196,8 @@ files:
|
|
|
166
196
|
- puppet_spec_helper.rb
|
|
167
197
|
- puppetlabs_spec_helper.gemspec
|
|
168
198
|
- puppetlabs_spec_helper.rb
|
|
169
|
-
- spec/lib/puppet/type/spechelper.rb
|
|
170
|
-
- spec/spec_helper.rb
|
|
171
|
-
- spec/unit/puppetlabs_spec_helper/puppetlabs_spec/puppet_internals_spec.rb
|
|
172
|
-
- spec/watchr.rb
|
|
173
199
|
homepage: http://github.com/puppetlabs/puppetlabs_spec_helper
|
|
174
|
-
licenses:
|
|
175
|
-
- Apache-2.0
|
|
200
|
+
licenses: []
|
|
176
201
|
metadata: {}
|
|
177
202
|
post_install_message:
|
|
178
203
|
rdoc_options: []
|
|
@@ -190,8 +215,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
190
215
|
version: '0'
|
|
191
216
|
requirements: []
|
|
192
217
|
rubyforge_project:
|
|
193
|
-
rubygems_version: 2.
|
|
218
|
+
rubygems_version: 2.5.1
|
|
194
219
|
signing_key:
|
|
195
220
|
specification_version: 4
|
|
196
|
-
summary: Standard tasks and configuration for module spec tests
|
|
221
|
+
summary: Standard tasks and configuration for module spec tests.
|
|
197
222
|
test_files: []
|
data/spec/spec_helper.rb
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
require 'puppetlabs_spec_helper/puppet_spec_helper'
|
|
3
|
-
require 'puppetlabs_spec_helper/puppetlabs_spec/puppet_internals'
|
|
4
|
-
|
|
5
|
-
describe PuppetlabsSpec::PuppetInternals do
|
|
6
|
-
before(:all) do
|
|
7
|
-
Puppet.initialize_settings
|
|
8
|
-
end
|
|
9
|
-
describe ".scope" do
|
|
10
|
-
it "should return a Puppet::Parser::Scope instance" do
|
|
11
|
-
subject.scope.should be_a_kind_of Puppet::Parser::Scope
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
xit "should be suitable for function testing" do
|
|
15
|
-
# split is now a puppet 4x core function
|
|
16
|
-
subject.scope.function_split(["one;two", ";"]).should == [ 'one', 'two' ]
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it "should accept a compiler" do
|
|
20
|
-
compiler = subject.compiler
|
|
21
|
-
scope = subject.scope(:compiler => compiler)
|
|
22
|
-
scope.compiler.should == compiler
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "should have a source set" do
|
|
26
|
-
scope = subject.scope
|
|
27
|
-
scope.source.should_not be_nil
|
|
28
|
-
scope.source.name.should eq('foo')
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
describe ".resource" do
|
|
33
|
-
it "can have a defined type" do
|
|
34
|
-
subject.resource(:type => :node).type.should == :node
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
it "defaults to a type of hostclass" do
|
|
38
|
-
subject.resource.type.should == :hostclass
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it "can have a defined name" do
|
|
42
|
-
subject.resource(:name => "testingrsrc").name.should == "testingrsrc"
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it "defaults to a name of testing" do
|
|
46
|
-
subject.resource.name.should == "testing"
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
describe ".compiler" do
|
|
51
|
-
let(:node) { subject.node }
|
|
52
|
-
|
|
53
|
-
it "can have a defined node" do
|
|
54
|
-
subject.compiler(:node => node).node.should be node
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
describe ".node" do
|
|
59
|
-
it "can have a defined name" do
|
|
60
|
-
subject.node(:name => "mine").name.should == "mine"
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
it "can have a defined environment" do
|
|
64
|
-
subject.node(:environment => "mine").environment.name.should == :mine
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
it "defaults to a name of testinghost" do
|
|
68
|
-
subject.node.name.should == "testinghost"
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
it "accepts facts via options for rspec-puppet" do
|
|
72
|
-
fact_values = { 'fqdn' => "jeff.puppetlabs.com" }
|
|
73
|
-
node = subject.node(:options => { :parameters => fact_values })
|
|
74
|
-
node.parameters.should == fact_values
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
describe ".function_method" do
|
|
79
|
-
it "accepts an injected scope" do
|
|
80
|
-
Puppet::Parser::Functions.expects(:function).with("my_func").returns(true)
|
|
81
|
-
scope = mock()
|
|
82
|
-
scope.expects(:method).with(:function_my_func).returns(:fake_method)
|
|
83
|
-
subject.function_method("my_func", :scope => scope).should == :fake_method
|
|
84
|
-
end
|
|
85
|
-
it "returns nil if the function doesn't exist" do
|
|
86
|
-
Puppet::Parser::Functions.expects(:function).with("my_func").returns(false)
|
|
87
|
-
scope = mock()
|
|
88
|
-
subject.function_method("my_func", :scope => scope).should be_nil
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
end
|
data/spec/watchr.rb
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
ENV['FOG_MOCK'] ||= 'true'
|
|
2
|
-
ENV['AUTOTEST'] = 'true'
|
|
3
|
-
ENV['WATCHR'] = '1'
|
|
4
|
-
|
|
5
|
-
system 'clear'
|
|
6
|
-
|
|
7
|
-
def growl(message)
|
|
8
|
-
growlnotify = `which growlnotify`.chomp
|
|
9
|
-
title = "Watchr Test Results"
|
|
10
|
-
image = case message
|
|
11
|
-
when /(\d+)\s+?(failure|error)/i
|
|
12
|
-
($1.to_i == 0) ? "~/.watchr_images/passed.png" : "~/.watchr_images/failed.png"
|
|
13
|
-
else
|
|
14
|
-
'~/.watchr_images/unknown.png'
|
|
15
|
-
end
|
|
16
|
-
options = "-w -n Watchr --image '#{File.expand_path(image)}' -m '#{message}' '#{title}'"
|
|
17
|
-
system %(#{growlnotify} #{options} &)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
def run(cmd)
|
|
21
|
-
puts(cmd)
|
|
22
|
-
`#{cmd}`
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def run_spec_test(file)
|
|
26
|
-
if File.exist? file
|
|
27
|
-
result = run "rspec --format p --color #{file}"
|
|
28
|
-
growl result.split("\n").last
|
|
29
|
-
puts result
|
|
30
|
-
else
|
|
31
|
-
puts "FIXME: No test #{file} [#{Time.now}]"
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def filter_rspec(data)
|
|
36
|
-
data.split("\n").find_all do |l|
|
|
37
|
-
l =~ /^(\d+)\s+exampl\w+.*?(\d+).*?failur\w+.*?(\d+).*?pending/
|
|
38
|
-
end.join("\n")
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
def run_all_tests
|
|
42
|
-
system('clear')
|
|
43
|
-
files = Dir.glob("spec/**/*_spec.rb").join(" ")
|
|
44
|
-
result = run "rspec #{files}"
|
|
45
|
-
growl_results = filter_rspec result
|
|
46
|
-
growl growl_results
|
|
47
|
-
puts result
|
|
48
|
-
puts "GROWL: #{growl_results}"
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# Ctrl-\
|
|
52
|
-
Signal.trap 'QUIT' do
|
|
53
|
-
puts " --- Running all tests ---\n\n"
|
|
54
|
-
run_all_tests
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
@interrupted = false
|
|
58
|
-
|
|
59
|
-
# Ctrl-C
|
|
60
|
-
Signal.trap 'INT' do
|
|
61
|
-
if @interrupted then
|
|
62
|
-
@wants_to_quit = true
|
|
63
|
-
abort("\n")
|
|
64
|
-
else
|
|
65
|
-
puts "Interrupt a second time to quit"
|
|
66
|
-
@interrupted = true
|
|
67
|
-
Kernel.sleep 1.5
|
|
68
|
-
# raise Interrupt, nil # let the run loop catch it
|
|
69
|
-
run_suite
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
watch( 'spec/.*_spec\.rb' ) do |md|
|
|
74
|
-
run_all_tests
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
watch( 'lib/.*\.rb' ) do |md|
|
|
78
|
-
run_all_tests
|
|
79
|
-
end
|