puppet_litmus 0.34.1 → 0.34.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f920aba75050c0e8165181281c3d18b2c7c938d7aa0689341bf72a71aa6de28
4
- data.tar.gz: e191462219097aabe58ae44176b26366afeee935499d148b53cef46e1fea96a1
3
+ metadata.gz: ec60ae7ab88bc74fccfa22c04a83a89fbabaeab56885811babafcc33ec7aa122
4
+ data.tar.gz: b60bab49299dec0ec5e6652c4535baf63196cb896680aa637eba98204ea4ac73
5
5
  SHA512:
6
- metadata.gz: 498f0350dfae4fef496c27e48306946ac59f66382c73f7de37a8db7ff781e1c36f0d85e59e5832ecb624224b2893fe5ea289d75b181359496b7feae81a631a95
7
- data.tar.gz: ad703c3604904709e34466d21dec2b4c4e2aa2ecada065b39bf2d06b343001fd7de304cef7822b35638a7dd649d32205c30f05ec5e7f72f63b666dd432c7b04b
6
+ metadata.gz: 79d7c7fd85e94e2e040ca489bae950a2385fc30b7986a3800fc25b4bc29c0d3fb0f1b46b5bb9d02b5d86234dd52ae5cf0a9d79ea60e734d854848a29fa485be9
7
+ data.tar.gz: 2b67b3847d438a69c6a6518684365ad135b3c59a74ff3227de30dd6d9544a5e124a43855d52e4b88974d09652ae11bae8884e871431eec605e76decf257e50d0
data/README.md CHANGED
@@ -48,7 +48,7 @@ In order to use this new functionality just simply run:
48
48
 
49
49
  ## Documentation
50
50
 
51
- For documentation, see our [Litmus Docs Site](https://puppetlabs.github.io/litmus/).
51
+ For documentation, see our [Litmus Docs Site](https://puppetlabs.github.io/content-and-tooling-team/docs/litmus/).
52
52
 
53
53
  ## Other Resources
54
54
 
@@ -336,104 +336,109 @@ namespace :litmus do
336
336
 
337
337
  namespace :acceptance do
338
338
  require 'rspec/core/rake_task'
339
- if File.file?('spec/fixtures/litmus_inventory.yaml')
339
+
340
+ # Run acceptance tests against all machines in the inventory file in parallel.
341
+ desc 'Run tests in parallel against all machines in the inventory file'
342
+ task :parallel, [:tag] do |_task, args|
343
+ args.with_defaults(tag: nil)
344
+
340
345
  inventory_hash = inventory_hash_from_inventory_file
341
346
  targets = find_targets(inventory_hash, nil)
342
347
 
343
- # Run acceptance tests against all machines in the inventory file in parallel.
344
- desc 'Run tests in parallel against all machines in the inventory file'
345
- task :parallel, [:tag] do |_task, args|
346
- args.with_defaults(tag: nil)
347
- if targets.empty?
348
- puts 'No targets found'
349
- exit 0
350
- end
351
- tag_value = if args[:tag].nil?
352
- nil
353
- else
354
- "--tag #{args[:tag]}"
355
- end
356
- payloads = []
357
- # Generate list of targets to provision
358
- targets.each do |target|
359
- test = "bundle exec rspec ./spec/acceptance #{tag_value} --format progress --require rspec_honeycomb_formatter --format RSpecHoneycombFormatter"
360
- title = "#{target}, #{facts_from_node(inventory_hash, target)['platform']}"
361
- options = {
362
- env: {
363
- 'TARGET_HOST' => target,
364
- },
365
- }
366
- payloads << [title, test, options]
367
- end
348
+ if targets.empty?
349
+ puts 'No targets found'
350
+ exit 0
351
+ end
352
+ tag_value = if args[:tag].nil?
353
+ nil
354
+ else
355
+ "--tag #{args[:tag]}"
356
+ end
357
+ payloads = []
358
+ # Generate list of targets to provision
359
+ targets.each do |target|
360
+ test = "bundle exec rspec ./spec/acceptance #{tag_value} --format progress --require rspec_honeycomb_formatter --format RSpecHoneycombFormatter"
361
+ title = "#{target}, #{facts_from_node(inventory_hash, target)['platform']}"
362
+ options = {
363
+ env: {
364
+ 'TARGET_HOST' => target,
365
+ },
366
+ }
367
+ payloads << [title, test, options]
368
+ end
368
369
 
369
- results = []
370
- success_list = []
371
- failure_list = []
372
- # Provision targets depending on what environment we're in
373
- if ENV['CI'] == 'true'
374
- # CI systems are strange beasts, we only output a '.' every wee while to keep the terminal alive.
375
- puts "Running against #{targets.size} targets.\n"
376
- progress = Thread.new do
377
- loop do
378
- printf '.'
379
- sleep(10)
380
- end
370
+ results = []
371
+ success_list = []
372
+ failure_list = []
373
+ # Provision targets depending on what environment we're in
374
+ if ENV['CI'] == 'true'
375
+ # CI systems are strange beasts, we only output a '.' every wee while to keep the terminal alive.
376
+ puts "Running against #{targets.size} targets.\n"
377
+ progress = Thread.new do
378
+ loop do
379
+ printf '.'
380
+ sleep(10)
381
381
  end
382
+ end
382
383
 
383
- require 'parallel'
384
- results = Parallel.map(payloads) do |title, test, options|
385
- # avoid sending the parent process' main span in the sub-processes
386
- # https://www.ruby-forum.com/t/at-exit-inherited-across-fork/122473/2
387
- at_exit { exit! }
384
+ require 'parallel'
385
+ results = Parallel.map(payloads) do |title, test, options|
386
+ # avoid sending the parent process' main span in the sub-processes
387
+ # https://www.ruby-forum.com/t/at-exit-inherited-across-fork/122473/2
388
+ at_exit { exit! }
388
389
 
389
- env = options[:env].nil? ? {} : options[:env]
390
- env['HONEYCOMB_TRACE'] = Honeycomb.current_span.to_trace_header
391
- stdout, stderr, status = Open3.capture3(env, test)
392
- ["\n================\n#{title}\n", stdout, stderr, status]
390
+ env = options[:env].nil? ? {} : options[:env]
391
+ env['HONEYCOMB_TRACE'] = Honeycomb.current_span.to_trace_header
392
+ stdout, stderr, status = Open3.capture3(env, test)
393
+ ["\n================\n#{title}\n", stdout, stderr, status]
394
+ end
395
+ # because we cannot modify variables inside of Parallel
396
+ results.each do |result|
397
+ if result.last.to_i.zero?
398
+ success_list.push(result.first.scan(%r{.*})[3])
399
+ else
400
+ failure_list.push(result.first.scan(%r{.*})[3])
393
401
  end
394
- # because we cannot modify variables inside of Parallel
395
- results.each do |result|
396
- if result.last.to_i.zero?
397
- success_list.push(result.first.scan(%r{.*})[3])
402
+ end
403
+ Thread.kill(progress)
404
+ else
405
+ require 'tty-spinner'
406
+ spinners = TTY::Spinner::Multi.new("[:spinner] Running against #{targets.size} targets.")
407
+ payloads.each do |title, test, options|
408
+ env = options[:env].nil? ? {} : options[:env]
409
+ env['HONEYCOMB_TRACE'] = Honeycomb.current_span.to_trace_header
410
+ spinners.register("[:spinner] #{title}") do |sp|
411
+ stdout, stderr, status = Open3.capture3(env, test)
412
+ if status.to_i.zero?
413
+ sp.success
414
+ success_list.push(title)
398
415
  else
399
- failure_list.push(result.first.scan(%r{.*})[3])
400
- end
401
- end
402
- Thread.kill(progress)
403
- else
404
- require 'tty-spinner'
405
- spinners = TTY::Spinner::Multi.new("[:spinner] Running against #{targets.size} targets.")
406
- payloads.each do |title, test, options|
407
- env = options[:env].nil? ? {} : options[:env]
408
- env['HONEYCOMB_TRACE'] = Honeycomb.current_span.to_trace_header
409
- spinners.register("[:spinner] #{title}") do |sp|
410
- stdout, stderr, status = Open3.capture3(env, test)
411
- if status.to_i.zero?
412
- sp.success
413
- success_list.push(title)
414
- else
415
- sp.error
416
- failure_list.push(title)
417
- end
418
- results.push(["================\n#{title}\n", stdout, stderr, status])
416
+ sp.error
417
+ failure_list.push(title)
419
418
  end
419
+ results.push(["================\n#{title}\n", stdout, stderr, status])
420
420
  end
421
- spinners.auto_spin
422
- spinners.success
423
- end
424
-
425
- # output test results
426
- results.each do |result|
427
- puts result
428
421
  end
422
+ spinners.auto_spin
423
+ spinners.success
424
+ end
429
425
 
430
- # output test summary
431
- puts "Successful on #{success_list.size} nodes: #{success_list}" if success_list.any?
432
- puts "Failed on #{failure_list.size} nodes: #{failure_list}" if failure_list.any?
433
- Rake::Task['litmus:check_connectivity'].invoke
434
- exit 1 if failure_list.any?
426
+ # output test results
427
+ results.each do |result|
428
+ puts result
435
429
  end
436
430
 
431
+ # output test summary
432
+ puts "Successful on #{success_list.size} nodes: #{success_list}" if success_list.any?
433
+ puts "Failed on #{failure_list.size} nodes: #{failure_list}" if failure_list.any?
434
+ Rake::Task['litmus:check_connectivity'].invoke
435
+ exit 1 if failure_list.any?
436
+ end
437
+
438
+ if File.file?('spec/fixtures/litmus_inventory.yaml')
439
+ inventory_hash = inventory_hash_from_inventory_file
440
+ targets = find_targets(inventory_hash, nil)
441
+
437
442
  targets.each do |target|
438
443
  desc "Run serverspec against #{target}"
439
444
  next if target == 'litmus_localhost'
@@ -2,5 +2,5 @@
2
2
 
3
3
  # version of this gem
4
4
  module PuppetLitmus
5
- VERSION ||= '0.34.1'
5
+ VERSION ||= '0.34.3'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet_litmus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.34.1
4
+ version: 0.34.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-10 00:00:00.000000000 Z
11
+ date: 2022-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bolt
@@ -194,7 +194,7 @@ homepage: https://github.com/puppetlabs/puppet_litmus
194
194
  licenses:
195
195
  - Apache-2.0
196
196
  metadata: {}
197
- post_install_message:
197
+ post_install_message:
198
198
  rdoc_options: []
199
199
  require_paths:
200
200
  - lib
@@ -209,8 +209,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
209
  - !ruby/object:Gem::Version
210
210
  version: '0'
211
211
  requirements: []
212
- rubygems_version: 3.1.6
213
- signing_key:
212
+ rubygems_version: 3.0.3
213
+ signing_key:
214
214
  specification_version: 4
215
215
  summary: Providing a simple command line tool for puppet content creators, to enable
216
216
  simple and complex test deployments.