puppetlabs_spec_helper 2.8.0 → 2.9.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 +5 -5
- data/.rspec +1 -0
- data/.rubocop.yml +92 -458
- data/.rubocop_todo.yml +118 -0
- data/.travis.yml +14 -6
- data/CHANGELOG.md +21 -4
- data/Gemfile +9 -7
- data/HISTORY.md +498 -0
- data/README.md +9 -43
- data/Rakefile +36 -6
- data/lib/puppetlabs_spec_helper/module_spec_helper.rb +31 -0
- data/lib/puppetlabs_spec_helper/puppet_spec_helper.rb +9 -10
- data/lib/puppetlabs_spec_helper/puppetlabs_spec/files.rb +3 -3
- data/lib/puppetlabs_spec_helper/puppetlabs_spec/fixtures.rb +8 -9
- data/lib/puppetlabs_spec_helper/puppetlabs_spec/matchers.rb +9 -12
- data/lib/puppetlabs_spec_helper/puppetlabs_spec/puppet_internals.rb +17 -17
- data/lib/puppetlabs_spec_helper/puppetlabs_spec_helper.rb +1 -1
- data/lib/puppetlabs_spec_helper/rake_tasks.rb +91 -82
- data/lib/puppetlabs_spec_helper/tasks/beaker.rb +7 -7
- data/lib/puppetlabs_spec_helper/tasks/fixtures.rb +115 -110
- data/lib/puppetlabs_spec_helper/version.rb +1 -1
- data/puppet_spec_helper.rb +1 -1
- data/puppetlabs_spec_helper.gemspec +21 -20
- data/puppetlabs_spec_helper.rb +1 -1
- metadata +5 -3
@@ -42,9 +42,9 @@ module PuppetlabsSpecHelper::Tasks::BeakerHelpers
|
|
42
42
|
# Vagrant is not distributed as a normal gem
|
43
43
|
# and we should protect it from the current Ruby environment
|
44
44
|
env = {
|
45
|
-
|
46
|
-
|
47
|
-
|
45
|
+
'RUBYLIB' => nil,
|
46
|
+
'GEM_PATH' => nil,
|
47
|
+
'BUNDLE_BIN_PATH' => nil,
|
48
48
|
}
|
49
49
|
system env, command
|
50
50
|
end
|
@@ -52,7 +52,7 @@ module PuppetlabsSpecHelper::Tasks::BeakerHelpers
|
|
52
52
|
end
|
53
53
|
include PuppetlabsSpecHelper::Tasks::BeakerHelpers
|
54
54
|
|
55
|
-
desc
|
55
|
+
desc 'Run beaker acceptance tests'
|
56
56
|
RSpec::Core::RakeTask.new(:beaker) do |t|
|
57
57
|
SetupBeaker.setup_beaker(t)
|
58
58
|
end
|
@@ -67,18 +67,18 @@ class SetupBeaker
|
|
67
67
|
raise 'TEST_TIERS env variable must have at least 1 tier specified. low, medium or high (comma separated).' if test_tiers.count == 0
|
68
68
|
test_tiers.each do |tier|
|
69
69
|
tier_to_add = tier.strip.downcase
|
70
|
-
raise "#{tier_to_add} not a valid test tier." unless %w
|
70
|
+
raise "#{tier_to_add} not a valid test tier." unless %w[low medium high].include?(tier_to_add)
|
71
71
|
tiers = "--tag tier_#{tier_to_add}"
|
72
72
|
t.rspec_opts.push(tiers)
|
73
73
|
end
|
74
74
|
else
|
75
75
|
puts 'TEST_TIERS env variable not defined. Defaulting to run all tests.'
|
76
76
|
end
|
77
|
-
|
77
|
+
t
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
desc
|
81
|
+
desc 'List available beaker nodesets'
|
82
82
|
task 'beaker:sets' do
|
83
83
|
beaker_node_sets.each do |set|
|
84
84
|
puts set
|
@@ -21,38 +21,38 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def fixtures(category)
|
24
|
-
if ENV['FIXTURES_YML']
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
24
|
+
fixtures_yaml = if ENV['FIXTURES_YML']
|
25
|
+
ENV['FIXTURES_YML']
|
26
|
+
elsif File.exist?('.fixtures.yml')
|
27
|
+
'.fixtures.yml'
|
28
|
+
elsif File.exist?('.fixtures.yaml')
|
29
|
+
'.fixtures.yaml'
|
30
|
+
else
|
31
|
+
false
|
32
|
+
end
|
33
33
|
|
34
34
|
begin
|
35
|
-
if fixtures_yaml
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
fixtures = if fixtures_yaml
|
36
|
+
YAML.load_file(fixtures_yaml) || { 'fixtures' => {} }
|
37
|
+
else
|
38
|
+
{ 'fixtures' => {} }
|
39
|
+
end
|
40
40
|
rescue Errno::ENOENT
|
41
|
-
|
41
|
+
raise("Fixtures file not found: '#{fixtures_yaml}'")
|
42
42
|
rescue Psych::SyntaxError => e
|
43
|
-
|
43
|
+
raise("Found malformed YAML in '#{fixtures_yaml}' on line #{e.line} column #{e.column}: #{e.problem}")
|
44
44
|
end
|
45
45
|
|
46
46
|
unless fixtures.include?('fixtures')
|
47
47
|
# File is non-empty, but does not specify fixtures
|
48
|
-
|
48
|
+
raise("No 'fixtures' entries found in '#{fixtures_yaml}'; required")
|
49
49
|
end
|
50
50
|
|
51
|
-
if fixtures.include? 'defaults'
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
51
|
+
fixture_defaults = if fixtures.include? 'defaults'
|
52
|
+
fixtures['defaults']
|
53
|
+
else
|
54
|
+
{}
|
55
|
+
end
|
56
56
|
|
57
57
|
fixtures = fixtures['fixtures']
|
58
58
|
|
@@ -61,9 +61,9 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
61
61
|
end
|
62
62
|
|
63
63
|
result = {}
|
64
|
-
if fixtures.include?
|
64
|
+
if fixtures.include?(category) && !fixtures[category].nil?
|
65
65
|
|
66
|
-
defaults = {
|
66
|
+
defaults = { 'target' => 'spec/fixtures/modules' }
|
67
67
|
|
68
68
|
# load defaults from the `.fixtures.yml` `defaults` section
|
69
69
|
# for the requested category and merge them into my defaults
|
@@ -75,25 +75,31 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
75
75
|
# convert a simple string fixture to a hash, by
|
76
76
|
# using the string fixture as the `repo` option of the hash.
|
77
77
|
if opts.instance_of?(String)
|
78
|
-
opts = {
|
78
|
+
opts = { 'repo' => opts }
|
79
79
|
end
|
80
80
|
# there should be a warning or something if it's not a hash...
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
81
|
+
next unless opts.instance_of?(Hash)
|
82
|
+
# merge our options into the defaults to get the
|
83
|
+
# final option list
|
84
|
+
opts = defaults.merge(opts)
|
85
|
+
|
86
|
+
real_target = eval('"' + opts['target'] + '"')
|
87
|
+
real_source = eval('"' + opts['repo'] + '"')
|
88
|
+
|
89
|
+
result[real_source] = {
|
90
|
+
'target' => File.join(real_target, fixture),
|
91
|
+
'ref' => opts['ref'],
|
92
|
+
'branch' => opts['branch'],
|
93
|
+
'scm' => opts['scm'],
|
94
|
+
'flags' => opts['flags'],
|
95
|
+
'subdir' => opts['subdir'],
|
96
|
+
}
|
91
97
|
end
|
92
98
|
end
|
93
|
-
|
99
|
+
result
|
94
100
|
end
|
95
101
|
|
96
|
-
def clone_repo(scm, remote, target,
|
102
|
+
def clone_repo(scm, remote, target, _subdir = nil, ref = nil, branch = nil, flags = nil)
|
97
103
|
args = []
|
98
104
|
case scm
|
99
105
|
when 'hg'
|
@@ -108,11 +114,11 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
108
114
|
args.push(flags) if flags
|
109
115
|
args.push(remote, target)
|
110
116
|
else
|
111
|
-
|
117
|
+
raise "Unfortunately #{scm} is not supported yet"
|
112
118
|
end
|
113
119
|
result = system("#{scm} #{args.flatten.join ' '}")
|
114
|
-
unless File
|
115
|
-
|
120
|
+
unless File.exist?(target)
|
121
|
+
raise "Failed to clone #{scm} repository #{remote} into #{target}"
|
116
122
|
end
|
117
123
|
result
|
118
124
|
end
|
@@ -124,7 +130,7 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
124
130
|
when 'git'
|
125
131
|
['fetch']
|
126
132
|
else
|
127
|
-
|
133
|
+
raise "Unfortunately #{scm} is not supported yet"
|
128
134
|
end
|
129
135
|
Dir.chdir(target) do
|
130
136
|
system("#{scm} #{args.flatten.join(' ')}")
|
@@ -139,18 +145,18 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
139
145
|
when 'git'
|
140
146
|
args.push('reset', '--hard', ref)
|
141
147
|
else
|
142
|
-
|
148
|
+
raise "Unfortunately #{scm} is not supported yet"
|
143
149
|
end
|
144
150
|
system("cd #{target} && #{scm} #{args.flatten.join ' '}")
|
145
151
|
end
|
146
152
|
|
147
153
|
def remove_subdirectory(target, subdir)
|
148
154
|
unless subdir.nil?
|
149
|
-
Dir.mktmpdir
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
155
|
+
Dir.mktmpdir do |tmpdir|
|
156
|
+
FileUtils.mv(Dir.glob("#{target}/#{subdir}/{.[^\.]*,*}"), tmpdir)
|
157
|
+
FileUtils.rm_rf("#{target}/#{subdir}")
|
158
|
+
FileUtils.mv(Dir.glob("#{tmpdir}/{.[^\.]*,*}"), target.to_s)
|
159
|
+
end
|
154
160
|
end
|
155
161
|
end
|
156
162
|
|
@@ -158,11 +164,11 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
158
164
|
def logger
|
159
165
|
unless @logger
|
160
166
|
require 'logger'
|
161
|
-
if ENV['ENABLE_LOGGER']
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
167
|
+
level = if ENV['ENABLE_LOGGER']
|
168
|
+
Logger::DEBUG
|
169
|
+
else
|
170
|
+
Logger::INFO
|
171
|
+
end
|
166
172
|
@logger = Logger.new(STDERR)
|
167
173
|
@logger.level = level
|
168
174
|
end
|
@@ -173,14 +179,14 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
173
179
|
# The problem with the relative path is that PMT doesn't expand the path properly and so passing in a relative path here
|
174
180
|
# becomes something like C:\somewhere\backslashes/spec/fixtures/work-dir on Windows, and then PMT barfs itself.
|
175
181
|
# This has been reported as https://tickets.puppetlabs.com/browse/PUP-4884
|
176
|
-
File.expand_path(ENV['MODULE_WORKING_DIR'] ? ENV['MODULE_WORKING_DIR'] : 'spec/fixtures/work-dir')
|
182
|
+
File.expand_path((ENV['MODULE_WORKING_DIR']) ? ENV['MODULE_WORKING_DIR'] : 'spec/fixtures/work-dir')
|
177
183
|
end
|
178
184
|
|
179
185
|
# returns the current thread count that is currently active
|
180
186
|
# a status of false or nil means the thread completed
|
181
187
|
# so when anything else we count that as a active thread
|
182
188
|
def current_thread_count(items)
|
183
|
-
active_threads = items.find_all do |
|
189
|
+
active_threads = items.find_all do |_item, opts|
|
184
190
|
if opts[:thread]
|
185
191
|
opts[:thread].status
|
186
192
|
else
|
@@ -197,16 +203,16 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
197
203
|
unless @max_thread_limit
|
198
204
|
# the default thread count is 10 but can be
|
199
205
|
# raised by using environment variable MAX_FIXTURE_THREAD_COUNT
|
200
|
-
if ENV['MAX_FIXTURE_THREAD_COUNT'].to_i > 0
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
206
|
+
@max_thread_limit = if ENV['MAX_FIXTURE_THREAD_COUNT'].to_i > 0
|
207
|
+
ENV['MAX_FIXTURE_THREAD_COUNT'].to_i
|
208
|
+
else
|
209
|
+
10 # the default
|
210
|
+
end
|
205
211
|
end
|
206
212
|
@max_thread_limit
|
207
213
|
end
|
208
214
|
|
209
|
-
def check_directory_for_symlinks(dir='.')
|
215
|
+
def check_directory_for_symlinks(dir = '.')
|
210
216
|
dir = Pathname.new(dir) unless dir.is_a?(Pathname)
|
211
217
|
results = []
|
212
218
|
|
@@ -223,7 +229,7 @@ module PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
|
223
229
|
end
|
224
230
|
include PuppetlabsSpecHelper::Tasks::FixtureHelpers
|
225
231
|
|
226
|
-
desc
|
232
|
+
desc 'Create the fixtures directory'
|
227
233
|
task :spec_prep do
|
228
234
|
# Ruby only sets File::ALT_SEPARATOR on Windows and Rubys standard library
|
229
235
|
# uses this to check for Windows
|
@@ -232,21 +238,21 @@ task :spec_prep do
|
|
232
238
|
begin
|
233
239
|
require 'win32/dir'
|
234
240
|
rescue LoadError
|
235
|
-
$stderr.puts
|
241
|
+
$stderr.puts 'win32-dir gem not installed, falling back to executing mklink directly'
|
236
242
|
end
|
237
243
|
end
|
238
244
|
|
239
245
|
# git has a race condition creating that directory, that would lead to aborted clone operations
|
240
|
-
FileUtils
|
246
|
+
FileUtils.mkdir_p('spec/fixtures/modules')
|
241
247
|
|
242
248
|
repositories.each do |remote, opts|
|
243
249
|
scm = 'git'
|
244
|
-
target = opts[
|
245
|
-
subdir = opts[
|
246
|
-
ref = opts[
|
247
|
-
scm = opts[
|
248
|
-
branch = opts[
|
249
|
-
flags = opts[
|
250
|
+
target = opts['target']
|
251
|
+
subdir = opts['subdir']
|
252
|
+
ref = opts['ref']
|
253
|
+
scm = opts['scm'] if opts['scm']
|
254
|
+
branch = opts['branch'] if opts['branch']
|
255
|
+
flags = opts['flags']
|
250
256
|
# get the current active threads that are alive
|
251
257
|
count = current_thread_count(repositories)
|
252
258
|
if count < max_thread_limit
|
@@ -263,42 +269,41 @@ task :spec_prep do
|
|
263
269
|
end
|
264
270
|
else
|
265
271
|
# the last thread started should be the longest wait
|
266
|
-
item, item_opts = repositories.find_all {|
|
272
|
+
item, item_opts = repositories.find_all { |_i, o| o.key?(:thread) }.last
|
267
273
|
logger.debug "Waiting on #{item}"
|
268
|
-
item_opts[:thread].join
|
274
|
+
item_opts[:thread].join # wait for the thread to finish
|
269
275
|
# now that we waited lets try again
|
270
276
|
redo
|
271
277
|
end
|
272
278
|
end
|
273
279
|
|
274
280
|
# wait for all the threads to finish
|
275
|
-
repositories.each {|
|
281
|
+
repositories.each { |_remote, opts| opts[:thread].join }
|
276
282
|
|
277
|
-
fixtures(
|
283
|
+
fixtures('symlinks').each do |target, link|
|
278
284
|
link = link['target']
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
else
|
286
|
-
system("call mklink /J \"#{link.gsub('/', '\\')}\" \"#{target.gsub('/', '\\')}\"")
|
287
|
-
end
|
285
|
+
next if File.symlink?(link)
|
286
|
+
logger.info("Creating symlink from #{link} to #{target}")
|
287
|
+
if is_windows
|
288
|
+
target = File.join(File.dirname(link), target) unless Pathname.new(target).absolute?
|
289
|
+
if Dir.respond_to?(:create_junction)
|
290
|
+
Dir.create_junction(link, target)
|
288
291
|
else
|
289
|
-
|
292
|
+
system("call mklink /J \"#{link.tr('/', '\\')}\" \"#{target.tr('/', '\\')}\"")
|
290
293
|
end
|
294
|
+
else
|
295
|
+
FileUtils.ln_sf(target, link)
|
291
296
|
end
|
292
297
|
end
|
293
298
|
|
294
|
-
fixtures(
|
295
|
-
ref =
|
296
|
-
flags =
|
299
|
+
fixtures('forge_modules').each do |remote, opts|
|
300
|
+
ref = ''
|
301
|
+
flags = ''
|
297
302
|
if opts.instance_of?(String)
|
298
303
|
target = opts
|
299
304
|
elsif opts.instance_of?(Hash)
|
300
|
-
target = opts[
|
301
|
-
ref = " --version #{opts['ref']}"
|
305
|
+
target = opts['target']
|
306
|
+
ref = " --version #{opts['ref']}" unless opts['ref'].nil?
|
302
307
|
flags = " #{opts['flags']}" if opts['flags']
|
303
308
|
end
|
304
309
|
|
@@ -307,46 +312,46 @@ task :spec_prep do
|
|
307
312
|
working_dir = module_working_directory
|
308
313
|
target_dir = File.expand_path('spec/fixtures/modules')
|
309
314
|
|
310
|
-
command =
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
+
command = 'puppet module install' + ref + flags + \
|
316
|
+
' --ignore-dependencies' \
|
317
|
+
' --force' \
|
318
|
+
" --module_working_dir \"#{working_dir}\"" \
|
319
|
+
" --target-dir \"#{target_dir}\" \"#{remote}\""
|
315
320
|
|
316
321
|
unless system(command)
|
317
|
-
|
322
|
+
raise "Failed to install module #{remote} to #{target_dir}"
|
318
323
|
end
|
319
324
|
end
|
320
325
|
|
321
|
-
FileUtils
|
322
|
-
FileUtils
|
326
|
+
FileUtils.mkdir_p('spec/fixtures/manifests')
|
327
|
+
FileUtils.touch('spec/fixtures/manifests/site.pp')
|
323
328
|
end
|
324
329
|
|
325
|
-
desc
|
330
|
+
desc 'Clean up the fixtures directory'
|
326
331
|
task :spec_clean do
|
327
|
-
fixtures(
|
328
|
-
target = opts[
|
329
|
-
FileUtils
|
332
|
+
fixtures('repositories').each do |_remote, opts|
|
333
|
+
target = opts['target']
|
334
|
+
FileUtils.rm_rf(target)
|
330
335
|
end
|
331
336
|
|
332
|
-
fixtures(
|
333
|
-
target = opts[
|
334
|
-
FileUtils
|
337
|
+
fixtures('forge_modules').each do |_remote, opts|
|
338
|
+
target = opts['target']
|
339
|
+
FileUtils.rm_rf(target)
|
335
340
|
end
|
336
341
|
|
337
|
-
FileUtils
|
342
|
+
FileUtils.rm_rf(module_working_directory)
|
338
343
|
|
339
344
|
Rake::Task[:spec_clean_symlinks].invoke
|
340
345
|
|
341
|
-
if File.zero?(
|
342
|
-
FileUtils
|
346
|
+
if File.zero?('spec/fixtures/manifests/site.pp')
|
347
|
+
FileUtils.rm_f('spec/fixtures/manifests/site.pp')
|
343
348
|
end
|
344
349
|
end
|
345
350
|
|
346
|
-
desc
|
351
|
+
desc 'Clean up any fixture symlinks'
|
347
352
|
task :spec_clean_symlinks do
|
348
|
-
fixtures(
|
349
|
-
target = opts[
|
350
|
-
FileUtils
|
353
|
+
fixtures('symlinks').each do |_source, opts|
|
354
|
+
target = opts['target']
|
355
|
+
FileUtils.rm_f(target)
|
351
356
|
end
|
352
357
|
end
|
data/puppet_spec_helper.rb
CHANGED
@@ -1,34 +1,35 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'puppetlabs_spec_helper/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
+
spec.name = 'puppetlabs_spec_helper'
|
8
9
|
spec.version = PuppetlabsSpecHelper::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
10
|
+
spec.authors = ['Puppet, Inc.', 'Community Contributors']
|
11
|
+
spec.email = ['modules-team@puppet.com']
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
14
|
-
spec.homepage =
|
15
|
-
spec.license =
|
13
|
+
spec.summary = 'Standard tasks and configuration for module spec tests.'
|
14
|
+
spec.description = 'Contains rake tasks and a standard spec_helper for running spec tests on puppet modules.'
|
15
|
+
spec.homepage = 'http://github.com/puppetlabs/puppetlabs_spec_helper'
|
16
|
+
spec.license = 'Apache-2.0'
|
16
17
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
-
spec.bindir =
|
19
|
+
spec.bindir = 'exe'
|
19
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
-
spec.require_paths = [
|
21
|
+
spec.require_paths = ['lib']
|
21
22
|
|
22
|
-
spec.add_runtime_dependency
|
23
|
-
spec.add_runtime_dependency
|
24
|
-
spec.add_runtime_dependency
|
25
|
-
spec.add_runtime_dependency
|
23
|
+
spec.add_runtime_dependency 'mocha', '~> 1.0'
|
24
|
+
spec.add_runtime_dependency 'puppet-lint', '~> 2.0'
|
25
|
+
spec.add_runtime_dependency 'puppet-syntax', '~> 2.0'
|
26
|
+
spec.add_runtime_dependency 'rspec-puppet', '~> 2.0'
|
26
27
|
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
28
|
+
spec.add_development_dependency 'bundler', '~> 1.12'
|
29
|
+
spec.add_development_dependency 'pry'
|
30
|
+
spec.add_development_dependency 'puppet'
|
31
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
32
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
33
|
+
spec.add_development_dependency 'yard'
|
34
|
+
spec.add_development_dependency 'gettext-setup', '~> 0.29'
|
34
35
|
end
|
data/puppetlabs_spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppetlabs_spec_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet, Inc.
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-06-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mocha
|
@@ -177,10 +177,12 @@ files:
|
|
177
177
|
- ".noexec.yaml"
|
178
178
|
- ".rspec"
|
179
179
|
- ".rubocop.yml"
|
180
|
+
- ".rubocop_todo.yml"
|
180
181
|
- ".travis.yml"
|
181
182
|
- CHANGELOG.md
|
182
183
|
- CONTRIBUTING.md
|
183
184
|
- Gemfile
|
185
|
+
- HISTORY.md
|
184
186
|
- LICENSE
|
185
187
|
- README.md
|
186
188
|
- Rakefile
|
@@ -218,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
220
|
version: '0'
|
219
221
|
requirements: []
|
220
222
|
rubyforge_project:
|
221
|
-
rubygems_version: 2.6
|
223
|
+
rubygems_version: 2.7.6
|
222
224
|
signing_key:
|
223
225
|
specification_version: 4
|
224
226
|
summary: Standard tasks and configuration for module spec tests.
|