Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-parallel_tests for openSUSE:Factory checked in at 2024-02-27 22:45:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-parallel_tests (Old) and /work/SRC/openSUSE:Factory/.rubygem-parallel_tests.new.1770 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-parallel_tests" Tue Feb 27 22:45:06 2024 rev:18 rq:1151735 version:4.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-parallel_tests/rubygem-parallel_tests.changes 2023-11-15 21:07:12.765209429 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-parallel_tests.new.1770/rubygem-parallel_tests.changes 2024-02-27 22:45:23.180093858 +0100 @@ -1,0 +2,5 @@ +Mon Jan 29 14:19:13 UTC 2024 - Dan Äermák <dan.cer...@posteo.net> + +- New upstream release 4.4.0, no changelog found + +------------------------------------------------------------------- Old: ---- parallel_tests-4.3.0.gem New: ---- parallel_tests-4.4.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-parallel_tests.spec ++++++ --- /var/tmp/diff_new_pack.zxO6xq/_old 2024-02-27 22:45:23.888119537 +0100 +++ /var/tmp/diff_new_pack.zxO6xq/_new 2024-02-27 22:45:23.888119537 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-parallel_tests # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-parallel_tests -Version: 4.3.0 +Version: 4.4.0 Release: 0 %define mod_name parallel_tests %define mod_full_name %{mod_name}-%{version} ++++++ parallel_tests-4.3.0.gem -> parallel_tests-4.4.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Readme.md new/Readme.md --- old/Readme.md 2023-10-09 03:26:55.000000000 +0200 +++ new/Readme.md 2023-12-25 05:12:45.000000000 +0100 @@ -106,11 +106,13 @@ end ``` -Even test group run-times -========================= +Even test group runtimes +======================== -Test groups are often not balanced and will run for different times, making everything wait for the slowest group. -Use these loggers to record test runtime and then use the recorded runtime to balance test groups more evenly. +Test groups will often run for different times, making the full test run as slow as the slowest group. + +Step 1: Use these loggers (see below) to record test runtime +Step 2: Your next run will use the recorded test runtimes (use `--runtime-log <file>` if you picked a location different from below) ### RSpec @@ -128,9 +130,11 @@ require 'parallel_tests/test/runtime_logger' if ENV['RECORD_RUNTIME'] ``` -results will be logged to tmp/parallel_runtime_test.log when `RECORD_RUNTIME` is set, +results will be logged to `tmp/parallel_runtime_test.log` when `RECORD_RUNTIME` is set, so it is not always required or overwritten. +### TODO: add instructions for other frameworks + Loggers ======= @@ -147,7 +151,7 @@ RSpec: FailuresLogger ----------------------- -Produce pastable command-line snippets for each failed example. For example: +Produce pasteable command-line snippets for each failed example. For example: ```bash rspec /path/to/my_spec.rb:123 # should do something @@ -160,6 +164,24 @@ (Not needed to retry failures, for that pass [--only-failures](https://relishapp.com/rspec/rspec-core/docs/command-line/only-failures) to rspec) + +RSpec: VerboseLogger +----------------------- + +Prints a single line for starting and finishing each example, to see what is currently running in each process. + +``` +# PID, parallel process number, spec status, example description +[14403] [2] [STARTED] Foo foo +[14402] [1] [STARTED] Bar bar +[14402] [1] [PASSED] Bar bar +``` + +Add to `.rspec_parallel` or use as CLI flag: + + --format ParallelTests::RSpec::VerboseLogger + + Cucumber: FailuresLogger ----------------------- Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/parallel_tests/rspec/runtime_logger.rb new/lib/parallel_tests/rspec/runtime_logger.rb --- old/lib/parallel_tests/rspec/runtime_logger.rb 2023-10-09 03:26:55.000000000 +0200 +++ new/lib/parallel_tests/rspec/runtime_logger.rb 2023-12-25 05:12:45.000000000 +0100 @@ -36,6 +36,8 @@ def start_dump(*) return unless ENV['TEST_ENV_NUMBER'] # only record when running in parallel lock_output do + # Order the output from slowest to fastest + @example_times = @example_times.sort_by(&:last).reverse @example_times.each do |file, time| relative_path = file.sub(%r{^#{Regexp.escape Dir.pwd}/}, '').sub(%r{^\./}, "") @output.puts "#{relative_path}:#{[time, 0].max}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/parallel_tests/rspec/verbose_logger.rb new/lib/parallel_tests/rspec/verbose_logger.rb --- old/lib/parallel_tests/rspec/verbose_logger.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/parallel_tests/rspec/verbose_logger.rb 2023-12-25 05:12:45.000000000 +0100 @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +require 'rspec/core/formatters/base_text_formatter' +require 'parallel_tests/rspec/runner' + +class ParallelTests::RSpec::VerboseLogger < RSpec::Core::Formatters::BaseTextFormatter + RSpec::Core::Formatters.register( + self, + :example_group_started, + :example_group_finished, + :example_started, + :example_passed, + :example_pending, + :example_failed + ) + + def initialize(output) + super + @line = [] + end + + def example_group_started(notification) + @line.push(notification.group.description) + end + + def example_group_finished(_notification) + @line.pop + end + + def example_started(notification) + @line.push(notification.example.description) + output_formatted_line('STARTED', :yellow) + end + + def example_passed(_passed) + output_formatted_line('PASSED', :success) + @line.pop + end + + def example_pending(_pending) + output_formatted_line('PENDING', :pending) + @line.pop + end + + def example_failed(_failure) + output_formatted_line('FAILED', :failure) + @line.pop + end + + private + + def output_formatted_line(status, console_code) + prefix = ["[#{Process.pid}]"] + if ENV.include?('TEST_ENV_NUMBER') + test_env_number = ENV['TEST_ENV_NUMBER'] == '' ? 1 : Integer(ENV['TEST_ENV_NUMBER']) + prefix << "[#{test_env_number}]" + end + prefix << RSpec::Core::Formatters::ConsoleCodes.wrap("[#{status}]", console_code) + + output.puts [*prefix, *@line].join(' ') + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/parallel_tests/version.rb new/lib/parallel_tests/version.rb --- old/lib/parallel_tests/version.rb 2023-10-09 03:26:55.000000000 +0200 +++ new/lib/parallel_tests/version.rb 2023-12-25 05:12:45.000000000 +0100 @@ -1,4 +1,4 @@ # frozen_string_literal: true module ParallelTests - VERSION = '4.3.0' + VERSION = '4.4.0' end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2023-10-09 03:26:55.000000000 +0200 +++ new/metadata 2023-12-25 05:12:45.000000000 +0100 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: parallel_tests version: !ruby/object:Gem::Version - version: 4.3.0 + version: 4.4.0 platform: ruby authors: - Michael Grosser autorequire: bindir: bin cert_chain: [] -date: 2023-10-09 00:00:00.000000000 Z +date: 2023-12-25 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: parallel @@ -58,6 +58,7 @@ - lib/parallel_tests/rspec/runner.rb - lib/parallel_tests/rspec/runtime_logger.rb - lib/parallel_tests/rspec/summary_logger.rb +- lib/parallel_tests/rspec/verbose_logger.rb - lib/parallel_tests/spinach/runner.rb - lib/parallel_tests/tasks.rb - lib/parallel_tests/test/runner.rb @@ -68,8 +69,8 @@ - MIT metadata: bug_tracker_uri: https://github.com/grosser/parallel_tests/issues - documentation_uri: https://github.com/grosser/parallel_tests/blob/v4.3.0/Readme.md - source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.3.0 + documentation_uri: https://github.com/grosser/parallel_tests/blob/v4.4.0/Readme.md + source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.4.0 wiki_uri: https://github.com/grosser/parallel_tests/wiki post_install_message: rdoc_options: []