Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rubygem-rspec-core for openSUSE:Factory checked in at 2021-01-22 21:49:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-rspec-core (Old) and /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rspec-core" Fri Jan 22 21:49:25 2021 rev:30 rq:864569 version:3.10.1 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-rspec-core/rubygem-rspec-core.changes 2020-05-11 13:34:39.232274897 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.28504/rubygem-rspec-core.changes 2021-01-22 21:49:26.413603685 +0100 @@ -1,0 +2,26 @@ +Wed Jan 20 07:48:04 UTC 2021 - Manuel Schnitzer <[email protected]> + +- updated to version 3.10.1 + + [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.0...v3.10.1) + + Bug fixes: + + * RSpec warning output was missing deprecations from Ruby, these are now included. + (Jon Rowe, #2811) + +------------------------------------------------------------------- +Wed Nov 11 08:46:37 UTC 2020 - Manuel Schnitzer <[email protected]> + +- updated to version 3.10.0 + + [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...v3.10.0) + + Enhancements: + + * Memoize `RSpec::Core::Formatters::ExceptionPresenter#exception_lines` to improve performance + with slow exception messages. (Maxime Lapointe, #2743) + * Add configuration for an error exit code (to disambiguate errored builds from failed builds + by exit status). (Dana Sherson, #2749) + +------------------------------------------------------------------- Old: ---- rspec-core-3.9.2.gem New: ---- rspec-core-3.10.1.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-rspec-core.spec ++++++ --- /var/tmp/diff_new_pack.lvzQlu/_old 2021-01-22 21:49:27.057604599 +0100 +++ /var/tmp/diff_new_pack.lvzQlu/_new 2021-01-22 21:49:27.061604605 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-rspec-core # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 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-rspec-core -Version: 3.9.2 +Version: 3.10.1 Release: 0 %define mod_name rspec-core %define mod_full_name %{mod_name}-%{version} ++++++ rspec-core-3.9.2.gem -> rspec-core-3.10.1.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Changelog.md new/Changelog.md --- old/Changelog.md 2020-05-02 23:10:02.000000000 +0200 +++ new/Changelog.md 2020-12-27 17:10:48.000000000 +0100 @@ -1,3 +1,39 @@ +### 3.10.1 / 2020-12-27 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.0...v3.10.1) + + +Bug fixes: + +* RSpec warning output was missing deprecations from Ruby, these are now included. + (Jon Rowe, #2811) + +### 3.10.0 / 2020-10-30 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...v3.10.0) + +Enhancements: + +* Memoize `RSpec::Core::Formatters::ExceptionPresenter#exception_lines` to improve performance + with slow exception messages. (Maxime Lapointe, #2743) +* Add configuration for an error exit code (to disambiguate errored builds from failed builds + by exit status). (Dana Sherson, #2749) + +# 3.9.3 / 2020-09-30 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.2...v3.9.3) + +Bug Fixes: + +* Declare `ruby2_keywords` on `method_missing` for other gems. (Jon Rowe, #2731) +* Ensure custom error codes are returned from bisect runs. (Jon Rowe, #2732) +* Ensure `RSpec::Core::Configuration` predicate config methods return booleans. + (Marc-Andr?? Lafortune, #2736) +* Prevent `rspec --bisect` from generating zombie processes while executing + bisect runs. (Benoit Tigeot, Jon Rowe, #2739) +* Predicates for pending examples, (in `RSpec::Core::Example`, `#pending?`, `#skipped?` and + `#pending_fixed?`) now return boolean values rather than truthy values. + (Marc-Andr?? Lafortune, #2756, #2758) +* Exceptions which have a message which cannot be cast to a string will no longer + cause a crash. (Jon Rowe, #2761) + ### 3.9.2 / 2020-05-02 [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.1...v3.9.2) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2020-05-02 23:10:02.000000000 +0200 +++ new/README.md 2020-12-27 17:10:48.000000000 +0100 @@ -1,4 +1,4 @@ -# rspec-core [](http://travis-ci.org/rspec/rspec-core) [](https://codeclimate.com/github/rspec/rspec-core) +# rspec-core [](http://travis-ci.org/rspec/rspec-core) [](https://codeclimate.com/github/rspec/rspec-core) rspec-core provides the structure for writing executable examples of how your code should behave, and an `rspec` command with tools to constrain which @@ -10,12 +10,12 @@ gem install rspec-core # for rspec-core only rspec --help -Want to run against the `master` branch? You'll need to include the dependent +Want to run against the `main` branch? You'll need to include the dependent RSpec repos as well. Add the following to your `Gemfile`: ```ruby %w[rspec rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib| - gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'master' + gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => 'main' end ``` Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ Binary files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ Binary files old/data.tar.gz.sig and new/data.tar.gz.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/bisect/fork_runner.rb new/lib/rspec/core/bisect/fork_runner.rb --- old/lib/rspec/core/bisect/fork_runner.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/bisect/fork_runner.rb 2020-12-27 17:10:48.000000000 +0100 @@ -6,7 +6,7 @@ module Core module Bisect # A Bisect runner that runs requested subsets of the suite by forking - # sub-processes. The master process bootstraps RSpec and the application + # sub-processes. The main process bootstraps RSpec and the application # environment (including preloading files specified via `--require`) so # that the individual spec runs do not have to re-pay that cost. Each # spec run happens in a forked process, ensuring that the spec files are @@ -91,9 +91,12 @@ end def dispatch_specs(run_descriptor) - fork { run_specs(run_descriptor) } + pid = fork { run_specs(run_descriptor) } # We don't use Process.waitpid here as it was causing bisects to - # block due to the file descriptor limit on OSX / Linux. + # block due to the file descriptor limit on OSX / Linux. We need + # to detach the process to avoid having zombie processes + # consuming slots in the kernel process table during bisect runs. + Process.detach(pid) end private diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/configuration.rb new/lib/rspec/core/configuration.rb --- old/lib/rspec/core/configuration.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/configuration.rb 2020-12-27 17:10:48.000000000 +0100 @@ -67,15 +67,17 @@ end # @private - def self.define_aliases(name, alias_name) + def self.define_alias(name, alias_name) alias_method alias_name, name alias_method "#{alias_name}=", "#{name}=" - define_predicate_for alias_name + define_predicate alias_name end # @private - def self.define_predicate_for(*names) - names.each { |name| alias_method "#{name}?", name } + def self.define_predicate(name) + define_method "#{name}?" do + !!send(name) + end end # @private @@ -88,7 +90,7 @@ add_read_only_setting name Array(opts[:alias_with]).each do |alias_name| - define_aliases(name, alias_name) + define_alias(name, alias_name) end end @@ -98,7 +100,7 @@ def self.add_read_only_setting(name, opts={}) raise "Use the instance add_setting method if you want to set a default" if opts.key?(:default) define_reader name - define_predicate_for name + define_predicate name end # @macro [attach] add_setting @@ -241,6 +243,11 @@ add_setting :failure_exit_code # @macro add_setting + # The exit code to return if there are any errors outside examples (default: failure_exit_code) + # @return [Integer] + add_setting :error_exit_code + + # @macro add_setting # Whether or not to fail when there are no RSpec examples (default: false). # @return [Boolean] add_setting :fail_if_no_examples @@ -312,7 +319,8 @@ # Report the times for the slowest examples (default: `false`). # Use this to specify the number of examples to include in the profile. # @return [Boolean] - add_setting :profile_examples + attr_writer :profile_examples + define_predicate :profile_examples # @macro add_setting # Run all examples if none match the configured filters @@ -520,6 +528,7 @@ @pattern = '**{,/*/**}/*_spec.rb' @exclude_pattern = '' @failure_exit_code = 1 + @error_exit_code = nil # so it can be overridden by failure exit code @fail_if_no_examples = false @spec_files_loaded = false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/drb.rb new/lib/rspec/core/drb.rb --- old/lib/rspec/core/drb.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/drb.rb 2020-12-27 17:10:48.000000000 +0100 @@ -51,6 +51,7 @@ argv << "--order" << @submitted_options[:order] if @submitted_options[:order] add_failure_exit_code(argv) + add_error_exit_code(argv) add_full_description(argv) add_filter(argv, :inclusion, @filter_manager.inclusions) add_filter(argv, :exclusion, @filter_manager.exclusions) @@ -67,6 +68,12 @@ argv << "--failure-exit-code" << @submitted_options[:failure_exit_code].to_s end + def add_error_exit_code(argv) + return unless @submitted_options[:error_exit_code] + + argv << "--error-exit-code" << @submitted_options[:error_exit_code].to_s + end + def add_full_description(argv) return unless @submitted_options[:full_description] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/example.rb new/lib/rspec/core/example.rb --- old/lib/rspec/core/example.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/example.rb 2020-12-27 17:10:48.000000000 +0100 @@ -231,8 +231,13 @@ @example_group_class end - alias_method :pending?, :pending - alias_method :skipped?, :skip + def pending? + !!pending + end + + def skipped? + !!skip + end # @api private # instance_execs the block passed to the constructor in the context of @@ -577,7 +582,9 @@ # this indicates whether or not it now passes. attr_accessor :pending_fixed - alias pending_fixed? pending_fixed + def pending_fixed? + !!pending_fixed + end # @return [Boolean] Indicates if the example was completely skipped # (typically done via `:skip` metadata or the `skip` method). Skipped examples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/example_group.rb new/lib/rspec/core/example_group.rb --- old/lib/rspec/core/example_group.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/example_group.rb 2020-12-27 17:10:48.000000000 +0100 @@ -761,8 +761,9 @@ "on an example group (e.g. a `describe` or `context` block)." end - super + super(name, *args) end + ruby2_keywords :method_missing if respond_to?(:ruby2_keywords, true) end # rubocop:enable Metrics/ClassLength diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/formatters/exception_presenter.rb new/lib/rspec/core/formatters/exception_presenter.rb --- old/lib/rspec/core/formatters/exception_presenter.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/formatters/exception_presenter.rb 2020-12-27 17:10:48.000000000 +0100 @@ -51,7 +51,7 @@ cause << '--- Caused by: ---' cause << "#{exception_class_name(last_cause)}:" unless exception_class_name(last_cause) =~ /RSpec/ - encoded_string(last_cause.message.to_s).split("\n").each do |line| + encoded_string(exception_message_string(last_cause)).split("\n").each do |line| cause << " #{line}" end @@ -174,13 +174,23 @@ lines end + # rubocop:disable Lint/RescueException + def exception_message_string(exception) + exception.message.to_s + rescue Exception => other + "A #{exception.class} for which `exception.message.to_s` raises #{other.class}." + end + # rubocop:enable Lint/RescueException + def exception_lines - lines = [] - lines << "#{exception_class_name}:" unless exception_class_name =~ /RSpec/ - encoded_string(exception.message.to_s).split("\n").each do |line| - lines << (line.empty? ? line : " #{line}") + @exception_lines ||= begin + lines = [] + lines << "#{exception_class_name}:" unless exception_class_name =~ /RSpec/ + encoded_string(exception_message_string(exception)).split("\n").each do |line| + lines << (line.empty? ? line : " #{line}") + end + lines end - lines end def extra_failure_lines diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/hooks.rb new/lib/rspec/core/hooks.rb --- old/lib/rspec/core/hooks.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/hooks.rb 2020-12-27 17:10:48.000000000 +0100 @@ -60,9 +60,10 @@ # before(:example) # Declared in a parent group. # before(:example) # Declared in the current group. # - # If more than one `before` is declared within any one scope, they are run - # in the order in which they are declared. Any `around` hooks will execute - # later than any `before` hook regardless of scope. + # If more than one `before` is declared within any one example group, they + # are run in the order in which they are declared. Any `around` hooks will + # execute after `before` context hooks but before any `before` example + # hook regardless of where they are declared. # # ### Conditions # @@ -263,9 +264,10 @@ # after(:suite) # Declared in RSpec.configure. # # This is the reverse of the order in which `before` hooks are run. - # Similarly, if more than one `after` is declared within any one scope, - # they are run in reverse order of that in which they are declared. Also - # `around` hooks will all have run before any after hooks are invoked. + # Similarly, if more than one `after` is declared within any example + # group, they are run in reverse order of that in which they are declared. + # Also `around` hooks will run after any `after` example hooks are + # invoked but before any `after` context hooks. # # @note The `:example` and `:context` scopes are also available as # `:each` and `:all`, respectively. Use whichever you prefer. @@ -310,7 +312,7 @@ # # @note the syntax of `around` is similar to that of `before` and `after` # but the semantics are quite different. `before` and `after` hooks are - # run in the context of of the examples with which they are associated, + # run in the context of the examples with which they are associated, # whereas `around` hooks are actually responsible for running the # examples. Consequently, `around` hooks do not have direct access to # resources that are made available within the examples and their @@ -337,8 +339,11 @@ # # ### Order # - # All `around` hooks execute immediately surrounding an example, this means - # that all `before` hooks will have run and no `after` hooks will have run yet. + # The `around` hooks execute surrounding an example and its hooks. + # + # This means after any `before` context hooks, but before any `before` + # example hooks, and similarly after any `after` example hooks but before + # any `after` context hooks. # # They are not a synonym for `before`/`after`. def around(*args, &block) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/invocations.rb new/lib/rspec/core/invocations.rb --- old/lib/rspec/core/invocations.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/invocations.rb 2020-12-27 17:10:48.000000000 +0100 @@ -37,7 +37,7 @@ runner, options.args, formatter ) - success ? 0 : 1 + runner.exit_code(success) end private diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/option_parser.rb new/lib/rspec/core/option_parser.rb --- old/lib/rspec/core/option_parser.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/option_parser.rb 2020-12-27 17:10:48.000000000 +0100 @@ -95,6 +95,11 @@ options[:failure_exit_code] = code end + parser.on('--error-exit-code CODE', Integer, + 'Override the exit code used when there are errors loading or running specs outside of examples.') do |code| + options[:error_exit_code] = code + end + parser.on('-X', '--[no-]drb', 'Run examples via DRb.') do |use_drb| options[:drb] = use_drb options[:runner] = RSpec::Core::Invocations::DRbWithFallback.new if use_drb @@ -179,6 +184,9 @@ end parser.on('-w', '--warnings', 'Enable ruby warnings') do + if Object.const_defined?(:Warning) && Warning.respond_to?(:[]=) + Warning[:deprecated] = true + end $VERBOSE = true end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/runner.rb new/lib/rspec/core/runner.rb --- old/lib/rspec/core/runner.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/runner.rb 2020-12-27 17:10:48.000000000 +0100 @@ -84,7 +84,7 @@ # @param out [IO] output stream def run(err, out) setup(err, out) - return @configuration.reporter.exit_early(@configuration.failure_exit_code) if RSpec.world.wants_to_quit + return @configuration.reporter.exit_early(exit_code) if RSpec.world.wants_to_quit run_specs(@world.ordered_example_groups).tap do persist_example_statuses @@ -112,7 +112,7 @@ # failed. def run_specs(example_groups) examples_count = @world.example_count(example_groups) - success = @configuration.reporter.report(examples_count) do |reporter| + examples_passed = @configuration.reporter.report(examples_count) do |reporter| @configuration.with_suite_hooks do if examples_count == 0 && @configuration.fail_if_no_examples return @configuration.failure_exit_code @@ -120,9 +120,9 @@ example_groups.map { |g| g.run(reporter) }.all? end - end && [email protected]_example_failure + end - success ? 0 : @configuration.failure_exit_code + exit_code(examples_passed) end # @private @@ -186,6 +186,14 @@ end end + # @private + def exit_code(examples_passed=false) + return @configuration.error_exit_code || @configuration.failure_exit_code if @world.non_example_failure + return @configuration.failure_exit_code unless examples_passed + + 0 + end + private def persist_example_statuses diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/version.rb new/lib/rspec/core/version.rb --- old/lib/rspec/core/version.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/version.rb 2020-12-27 17:10:48.000000000 +0100 @@ -3,7 +3,7 @@ # Version information for RSpec Core. module Version # Current version of RSpec Core, in semantic versioning format. - STRING = '3.9.2' + STRING = '3.10.1' end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/world.rb new/lib/rspec/core/world.rb --- old/lib/rspec/core/world.rb 2020-05-02 23:10:02.000000000 +0200 +++ new/lib/rspec/core/world.rb 2020-12-27 17:10:48.000000000 +0100 @@ -17,6 +17,7 @@ attr_accessor :non_example_failure def initialize(configuration=RSpec.configuration) + @wants_to_quit = false @configuration = configuration configuration.world = self @example_groups = [] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2020-05-02 23:10:02.000000000 +0200 +++ new/metadata 2020-12-27 17:10:48.000000000 +0100 @@ -1,14 +1,14 @@ --- !ruby/object:Gem::Specification name: rspec-core version: !ruby/object:Gem::Version - version: 3.9.2 + version: 3.10.1 platform: ruby authors: - Steven Baker - David Chelimsky - Chad Humphries - Myron Marston -autorequire: +autorequire: bindir: exe cert_chain: - | @@ -46,7 +46,7 @@ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ F3MdtaDehhjC -----END CERTIFICATE----- -date: 2020-05-02 00:00:00.000000000 Z +date: 2020-12-27 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rspec-support @@ -54,14 +54,14 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: 3.9.3 + version: 3.10.0 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: 3.9.3 + version: 3.10.0 - !ruby/object:Gem::Dependency name: cucumber requirement: !ruby/object:Gem::Requirement @@ -267,11 +267,11 @@ - MIT metadata: bug_tracker_uri: https://github.com/rspec/rspec-core/issues - changelog_uri: https://github.com/rspec/rspec-core/blob/v3.9.2/Changelog.md + changelog_uri: https://github.com/rspec/rspec-core/blob/v3.10.1/Changelog.md documentation_uri: https://rspec.info/documentation/ mailing_list_uri: https://groups.google.com/forum/#!forum/rspec source_code_uri: https://github.com/rspec/rspec-core -post_install_message: +post_install_message: rdoc_options: - "--charset=UTF-8" require_paths: @@ -287,8 +287,8 @@ - !ruby/object:Gem::Version version: '0' requirements: [] -rubygems_version: 3.1.2 -signing_key: +rubygems_version: 3.2.3 +signing_key: specification_version: 4 -summary: rspec-core-3.9.2 +summary: rspec-core-3.10.1 test_files: [] Binary files old/metadata.gz.sig and new/metadata.gz.sig differ
