puppet_litmus 0.34.1 → 0.34.3

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 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.