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 2023-11-15 21:06:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-parallel_tests (Old)
and /work/SRC/openSUSE:Factory/.rubygem-parallel_tests.new.17445 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-parallel_tests"
Wed Nov 15 21:06:50 2023 rev:17 rq:1126279 version:4.3.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-parallel_tests/rubygem-parallel_tests.changes
2022-12-14 14:11:01.423501106 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-parallel_tests.new.17445/rubygem-parallel_tests.changes
2023-11-15 21:07:12.765209429 +0100
@@ -1,0 +2,5 @@
+Tue Nov 14 15:22:21 UTC 2023 - Dan Äermák <[email protected]>
+
+- New upstream release 4.3.0, no changelog found
+
+-------------------------------------------------------------------
Old:
----
parallel_tests-4.0.0.gem
New:
----
parallel_tests-4.3.0.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-parallel_tests.spec ++++++
--- /var/tmp/diff_new_pack.4kdVoe/_old 2023-11-15 21:07:15.105295768 +0100
+++ /var/tmp/diff_new_pack.4kdVoe/_new 2023-11-15 21:07:15.113296063 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-parallel_tests
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,11 +24,10 @@
#
Name: rubygem-parallel_tests
-Version: 4.0.0
+Version: 4.3.0
Release: 0
%define mod_name parallel_tests
%define mod_full_name %{mod_name}-%{version}
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: %{ruby >= 2.7.0}
BuildRequires: %{rubygem gem2rpm}
BuildRequires: ruby-macros >= 5
@@ -38,7 +37,6 @@
Source1: gem2rpm.yml
Summary: Run Test::Unit / RSpec / Cucumber / Spinach in parallel
License: MIT
-Group: Development/Languages/Ruby
PreReq: update-alternatives
%description
++++++ parallel_tests-4.0.0.gem -> parallel_tests-4.3.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Readme.md new/Readme.md
--- old/Readme.md 2022-11-05 21:18:59.000000000 +0100
+++ new/Readme.md 2023-10-09 03:26:55.000000000 +0200
@@ -1,11 +1,10 @@
# parallel_tests
[](https://rubygems.org/gems/parallel_tests)
-[](https://travis-ci.org/grosser/parallel_tests/builds)
-[](https://github.com/grosser/parallel_tests/actions?query=workflow%3Awindows)
+[](https://github.com/grosser/parallel_tests/actions?query=workflow%3Atest)
-Speedup Test::Unit + RSpec + Cucumber + Spinach by running parallel on
multiple CPU cores.<br/>
-ParallelTests splits tests into even groups (by number of lines or runtime)
and runs each group in a single process with its own database.
+Speedup Minitest + RSpec + Turnip + Cucumber + Spinach by running parallel on
multiple CPU cores.<br/>
+ParallelTests splits tests into balanced groups (by number of lines or
runtime) and runs each group in a process with its own database.
Setup for Rails
===============
@@ -47,7 +46,7 @@
rake parallel:drop
### Run!
- rake parallel:test # Test::Unit
+ rake parallel:test # Minitest
rake parallel:spec # RSpec
rake parallel:features # Cucumber
rake parallel:features-spinach # Spinach
@@ -229,7 +228,9 @@
Process 1 will contain 1_spec.rb and
2_spec.rb
Process 2 will contain 3_spec.rb
Process 3 will contain all other specs
- --only-group INT[,INT]
+ --only-group INT[,INT] Only run the given group numbers. Note
that this will force the 'filesize'
+ grouping strategy (even when the runtime
log is present) unless you explicitly
+ set it otherwise via the '-group-by' flag.
-e, --exec [COMMAND] execute this code parallel and with
ENV['TEST_ENV_NUMBER']
-o, --test-options '[OPTIONS]' execute test commands with those options
-t, --type [TYPE] test(default) / rspec / cucumber / spinach
@@ -250,8 +251,7 @@
--first-is-1 Use "1" as TEST_ENV_NUMBER to not reuse
the default test environment
--fail-fast Stop all groups when one group fails
(best used with --test-options '--fail-fast' if supported
--verbose Print debug output
- --verbose-process-command Displays only the command that will be
executed by each process
- --verbose-rerun-command When there are failures, displays the
command executed by each process that failed
+ --verbose-command Displays the command that will be
executed by each process and when there are failures displays the command
executed by each process that failed
--quiet Print only tests output
-v, --version Show Version
-h, --help Show this.
@@ -404,6 +404,7 @@
- [Zach Dennis](https://github.com/zdennis)
- [Jon Dufresne](https://github.com/jdufresne)
- [Eric Kessler](https://github.com/enkessler)
+ - [Adis Osmonov](https://github.com/adis-io)
[Michael Grosser](http://grosser.it)<br/>
[email protected]<br/>
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/cli.rb
new/lib/parallel_tests/cli.rb
--- old/lib/parallel_tests/cli.rb 2022-11-05 21:18:59.000000000 +0100
+++ new/lib/parallel_tests/cli.rb 2023-10-09 03:26:55.000000000 +0200
@@ -32,9 +32,23 @@
@graceful_shutdown_attempted ||= false
Kernel.exit if @graceful_shutdown_attempted
- # The Pid class's synchronize method can't be called directly from a trap
- # Using Thread workaround https://github.com/ddollar/foreman/issues/332
- Thread.new { ParallelTests.stop_all_processes }
+ # In a shell, all sub-processes also get an interrupt, so they shut
themselves down.
+ # In a background process this does not happen and we need to do it
ourselves.
+ # We cannot always send the interrupt since then the sub-processes would
get interrupted twice when in foreground
+ # and that messes with interrupt handling.
+ #
+ # (can simulate detached with `(bundle exec parallel_rspec
test/a_spec.rb -n 2 &)`)
+ # also the integration test "passes on int signal to child processes" is
detached.
+ #
+ # On windows getpgid does not work so we resort to always killing which
is the smaller bug.
+ #
+ # The ParallelTests::Pids `synchronize` method can't be called directly
from a trap,
+ # using Thread workaround https://github.com/ddollar/foreman/issues/332
+ Thread.new do
+ if Gem.win_platform? || ((child_pid = ParallelTests.pids.all.first) &&
Process.getpgid(child_pid) != Process.pid)
+ ParallelTests.stop_all_processes
+ end
+ end
@graceful_shutdown_attempted = true
end
@@ -230,7 +244,14 @@
TEXT
) { |groups| options[:specify_groups] = groups }
- opts.on("--only-group INT[,INT]", Array) { |groups|
options[:only_group] = groups.map(&:to_i) }
+ opts.on(
+ "--only-group INT[,INT]",
+ Array,
+ <<~TEXT.rstrip.split("\n").join("\n#{newline_padding}")
+ Only run the given group numbers.
+ Changes `--group-by` default to 'filesize'.
+ TEXT
+ ) { |groups| options[:only_group] = groups.map(&:to_i) }
opts.on("-e", "--exec [COMMAND]", "execute this code parallel and with
ENV['TEST_ENV_NUMBER']") { |arg| options[:execute] = Shellwords.shellsplit(arg)
}
opts.on("-o", "--test-options '[OPTIONS]'", "execute test commands
with those options") { |arg| options[:test_options] =
Shellwords.shellsplit(arg) }
@@ -244,7 +265,7 @@
"--suffix [PATTERN]",
<<~TEXT.rstrip.split("\n").join("\n#{newline_padding}")
override built in test file pattern (should match suffix):
- '_spec\.rb$' - matches rspec files
+ '_spec.rb$' - matches rspec files
'_(test|spec).rb$' - matches test or spec files
TEXT
) { |pattern| options[:suffix] = /#{pattern}/ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/parallel_tests/grouper.rb
new/lib/parallel_tests/grouper.rb
--- old/lib/parallel_tests/grouper.rb 2022-11-05 21:18:59.000000000 +0100
+++ new/lib/parallel_tests/grouper.rb 2023-10-09 03:26:55.000000000 +0200
@@ -27,10 +27,6 @@
isolate_count = isolate_count(options)
if isolate_count >= num_groups
- raise 'Number of isolated processes must be less than total the
number of processes'
- end
-
- if isolate_count >= num_groups
raise 'Number of isolated processes must be >= total number of
processes'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/parallel_tests/rspec/failures_logger.rb
new/lib/parallel_tests/rspec/failures_logger.rb
--- old/lib/parallel_tests/rspec/failures_logger.rb 2022-11-05
21:18:59.000000000 +0100
+++ new/lib/parallel_tests/rspec/failures_logger.rb 2023-10-09
03:26:55.000000000 +0200
@@ -3,22 +3,14 @@
require 'parallel_tests/rspec/runner'
class ParallelTests::RSpec::FailuresLogger < ParallelTests::RSpec::LoggerBase
- if RSPEC_2
- def dump_failures(*args); end
- else
- RSpec::Core::Formatters.register self, :dump_summary
- end
+ RSpec::Core::Formatters.register(self, :dump_summary)
def dump_summary(*args)
lock_output do
- if RSPEC_2
- dump_commands_to_rerun_failed_examples
- else
- notification = args.first
- unless notification.failed_examples.empty?
- colorizer = ::RSpec::Core::Formatters::ConsoleCodes
- output.puts notification.colorized_rerun_commands(colorizer)
- end
+ notification = args.first
+ unless notification.failed_examples.empty?
+ colorizer = ::RSpec::Core::Formatters::ConsoleCodes
+ output.puts notification.colorized_rerun_commands(colorizer)
end
end
@output.flush
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/parallel_tests/rspec/logger_base.rb
new/lib/parallel_tests/rspec/logger_base.rb
--- old/lib/parallel_tests/rspec/logger_base.rb 2022-11-05 21:18:59.000000000
+0100
+++ new/lib/parallel_tests/rspec/logger_base.rb 2023-10-09 03:26:55.000000000
+0200
@@ -7,8 +7,6 @@
require 'rspec/core/formatters/base_text_formatter'
class ParallelTests::RSpec::LoggerBase <
RSpec::Core::Formatters::BaseTextFormatter
- RSPEC_2 = RSpec::Core::Version::STRING.start_with?('2')
-
def initialize(*args)
super
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/parallel_tests/rspec/runner.rb
new/lib/parallel_tests/rspec/runner.rb
--- old/lib/parallel_tests/rspec/runner.rb 2022-11-05 21:18:59.000000000
+0100
+++ new/lib/parallel_tests/rspec/runner.rb 2023-10-09 03:26:55.000000000
+0200
@@ -33,8 +33,10 @@
"spec"
end
+ # used to find all _spec.rb files
+ # supports also feature files used by rspec turnip extension
def test_suffix
- /_spec\.rb$/
+ /(_spec\.rb|\.feature)$/
end
def line_is_result?(line)
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 2022-11-05
21:18:59.000000000 +0100
+++ new/lib/parallel_tests/rspec/runtime_logger.rb 2023-10-09
03:26:55.000000000 +0200
@@ -9,7 +9,7 @@
@group_nesting = 0
end
- RSpec::Core::Formatters.register self, :example_group_started,
:example_group_finished, :start_dump unless RSPEC_2
+ RSpec::Core::Formatters.register(self, :example_group_started,
:example_group_finished, :start_dump)
def example_group_started(example_group)
@time = ParallelTests.now if @group_nesting == 0
@@ -20,8 +20,7 @@
def example_group_finished(notification)
@group_nesting -= 1
if @group_nesting == 0
- path = (RSPEC_2 ? notification.file_path : notification.group.file_path)
- @example_times[path] += ParallelTests.now - @time
+ @example_times[notification.group.file_path] += ParallelTests.now - @time
end
super if defined?(super)
end
@@ -39,7 +38,7 @@
lock_output do
@example_times.each do |file, time|
relative_path = file.sub(%r{^#{Regexp.escape Dir.pwd}/},
'').sub(%r{^\./}, "")
- @output.puts "#{relative_path}:#{time > 0 ? time : 0}"
+ @output.puts "#{relative_path}:#{[time, 0].max}"
end
end
@output.flush
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/parallel_tests/rspec/summary_logger.rb
new/lib/parallel_tests/rspec/summary_logger.rb
--- old/lib/parallel_tests/rspec/summary_logger.rb 2022-11-05
21:18:59.000000000 +0100
+++ new/lib/parallel_tests/rspec/summary_logger.rb 2023-10-09
03:26:55.000000000 +0200
@@ -2,7 +2,7 @@
require 'parallel_tests/rspec/failures_logger'
class ParallelTests::RSpec::SummaryLogger < ParallelTests::RSpec::LoggerBase
- RSpec::Core::Formatters.register self, :dump_failures unless RSPEC_2
+ RSpec::Core::Formatters.register(self, :dump_failures)
def dump_failures(*args)
lock_output { super }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/parallel_tests/test/runner.rb
new/lib/parallel_tests/test/runner.rb
--- old/lib/parallel_tests/test/runner.rb 2022-11-05 21:18:59.000000000
+0100
+++ new/lib/parallel_tests/test/runner.rb 2023-10-09 03:26:55.000000000
+0200
@@ -95,7 +95,7 @@
cmd = ["nice", *cmd] if options[:nice]
# being able to run with for example `-output foo-$TEST_ENV_NUMBER`
worked originally and is convenient
- cmd.map! { |c| c.gsub("$TEST_ENV_NUMBER",
number).gsub("${TEST_ENV_NUMBER}", number) }
+ cmd = cmd.map { |c| c.gsub("$TEST_ENV_NUMBER",
number).gsub("${TEST_ENV_NUMBER}", number) }
print_command(cmd, env) if report_process_command?(options) &&
!options[:serialize_stdout]
@@ -108,11 +108,10 @@
end
def execute_command_and_capture_output(env, cmd, options)
- pid = nil
-
- popen_options = {}
+ popen_options = {} # do not add `pgroup: true`, it will break
`binding.irb` inside the test
popen_options[:err] = [:child, :out] if options[:combine_stderr]
+ pid = nil
output = IO.popen(env, cmd, popen_options) do |io|
pid = io.pid
ParallelTests.pids.add(pid)
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 2022-11-05 21:18:59.000000000 +0100
+++ new/lib/parallel_tests/version.rb 2023-10-09 03:26:55.000000000 +0200
@@ -1,4 +1,4 @@
# frozen_string_literal: true
module ParallelTests
- VERSION = '4.0.0'
+ VERSION = '4.3.0'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2022-11-05 21:18:59.000000000 +0100
+++ new/metadata 2023-10-09 03:26:55.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: parallel_tests
version: !ruby/object:Gem::Version
- version: 4.0.0
+ version: 4.3.0
platform: ruby
authors:
- Michael Grosser
autorequire:
bindir: bin
cert_chain: []
-date: 2022-11-05 00:00:00.000000000 Z
+date: 2023-10-09 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: parallel
@@ -68,8 +68,8 @@
- MIT
metadata:
bug_tracker_uri: https://github.com/grosser/parallel_tests/issues
- documentation_uri:
https://github.com/grosser/parallel_tests/blob/v4.0.0/Readme.md
- source_code_uri: https://github.com/grosser/parallel_tests/tree/v4.0.0
+ 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
wiki_uri: https://github.com/grosser/parallel_tests/wiki
post_install_message:
rdoc_options: []