Hello community, here is the log from the commit of package rubygem-rspec-core for openSUSE:Factory checked in at 2019-07-22 12:16:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-rspec-core (Old) and /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rspec-core" Mon Jul 22 12:16:11 2019 rev:26 rq:713994 version:3.8.2 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-rspec-core/rubygem-rspec-core.changes 2018-11-01 18:52:48.913954349 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.4126/rubygem-rspec-core.changes 2019-07-22 12:16:12.707731034 +0200 @@ -1,0 +2,26 @@ +Mon Jul 8 07:45:14 UTC 2019 - Manuel Schnitzer <[email protected]> + +- updated to version 3.8.2 + + [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.1...v3.8.2) + + Bug Fixes: + + * Fix `config.define_derived_metadata` so that cascades are not triggered + until metadata has been assigned to the example or example group + (Myron Marston, #2635). + + ### 3.8.1 / 2019-06-13 + [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.0...v3.8.1) + + Bug Fixes: + + * Handle RSpec description(s) with japanese chars in CP932 encoded files. + (Benoit Tigeot, #2575) + * When defining `let` methods that overwrite an existing method, prevent + a warning being issued by removing the old definition. (Jon Rowe, #2593) + * Prevent warning on Ruby 2.6.0-rc1 (Keiji Yoshimi, #2582) + * Fix `config.define_derived_metadata` so that it supports cascades. + (Myron Marston, #2630). + +------------------------------------------------------------------- Old: ---- rspec-core-3.8.0.gem New: ---- rspec-core-3.8.2.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-rspec-core.spec ++++++ --- /var/tmp/diff_new_pack.UFMyX6/_old 2019-07-22 12:16:13.499730819 +0200 +++ /var/tmp/diff_new_pack.UFMyX6/_new 2019-07-22 12:16:13.503730818 +0200 @@ -1,7 +1,7 @@ # # spec file for package rubygem-rspec-core # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -24,7 +24,7 @@ # Name: rubygem-rspec-core -Version: 3.8.0 +Version: 3.8.2 Release: 0 %define mod_name rspec-core %define mod_full_name %{mod_name}-%{version} ++++++ rspec-core-3.8.0.gem -> rspec-core-3.8.2.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Changelog.md new/Changelog.md --- old/Changelog.md 2018-08-04 21:47:16.000000000 +0200 +++ new/Changelog.md 2019-06-29 12:58:42.000000000 +0200 @@ -1,3 +1,25 @@ +### 3.8.2 / 2019-06-29 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.1...v3.8.2) + +Bug Fixes: + +* Fix `config.define_derived_metadata` so that cascades are not triggered + until metadata has been assigned to the example or example group + (Myron Marston, #2635). + +### 3.8.1 / 2019-06-13 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.0...3.8.1) + +Bug Fixes: + +* Handle RSpec description(s) with japanese chars in CP932 encoded files. + (Benoit Tigeot, #2575) +* When defining `let` methods that overwrite an existing method, prevent + a warning being issued by removing the old definition. (Jon Rowe, #2593) +* Prevent warning on Ruby 2.6.0-rc1 (Keiji Yoshimi, #2582) +* Fix `config.define_derived_metadata` so that it supports cascades. + (Myron Marston, #2630). + ### 3.8.0 / 2018-08-04 [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.7.1...v3.8.0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2018-08-04 21:47:16.000000000 +0200 +++ new/README.md 2019-06-29 12:58:42.000000000 +0200 @@ -19,20 +19,6 @@ end ``` -## Contributing - -Once you've set up the environment, you'll need to cd into the working -directory of whichever repo you want to work in. From there you can run the -specs and cucumber features, and make patches. - -NOTE: You do not need to use rspec-dev to work on a specific RSpec repo. You -can treat each RSpec repo as an independent project. - -* [Build details](BUILD_DETAIL.md) -* [Code of Conduct](CODE_OF_CONDUCT.md) -* [Detailed contributing guide](CONTRIBUTING.md) -* [Development setup guide](DEVELOPMENT.md) - ## Basic Structure RSpec uses the words "describe" and "it" so we can express concepts like a conversation: @@ -376,6 +362,20 @@ 1 example, 0 failures ``` +## Contributing + +Once you've set up the environment, you'll need to cd into the working +directory of whichever repo you want to work in. From there you can run the +specs and cucumber features, and make patches. + +NOTE: You do not need to use rspec-dev to work on a specific RSpec repo. You +can treat each RSpec repo as an independent project. + +* [Build details](BUILD_DETAIL.md) +* [Code of Conduct](CODE_OF_CONDUCT.md) +* [Detailed contributing guide](CONTRIBUTING.md) +* [Development setup guide](DEVELOPMENT.md) + ## Also see * [https://github.com/rspec/rspec](https://github.com/rspec/rspec) 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/configuration.rb new/lib/rspec/core/configuration.rb --- old/lib/rspec/core/configuration.rb 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/configuration.rb 2019-06-29 12:58:42.000000000 +0200 @@ -1855,9 +1855,28 @@ # @private def apply_derived_metadata_to(metadata) - @derived_metadata_blocks.items_for(metadata).each do |block| - block.call(metadata) + already_run_blocks = Set.new + + # We loop and attempt to re-apply metadata blocks to support cascades + # (e.g. where a derived bit of metadata triggers the application of + # another piece of derived metadata, etc) + # + # We limit our looping to 200 times as a way to detect infinitely recursing derived metadata blocks. + # It's hard to imagine a valid use case for a derived metadata cascade greater than 200 iterations. + 200.times do + return if @derived_metadata_blocks.items_for(metadata).all? do |block| + already_run_blocks.include?(block).tap do |skip_block| + block.call(metadata) unless skip_block + already_run_blocks << block + end + end end + + # If we got here, then `@derived_metadata_blocks.items_for(metadata).all?` never returned + # `true` above and we treat this as an attempt to recurse infinitely. It's better to fail + # with a clear # error than hang indefinitely, which is what would happen if we didn't limit + # the looping above. + raise SystemStackError, "Attempted to recursively derive metadata indefinitely." end # Defines a `before` hook. See {Hooks#before} for full docs. 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 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/example.rb 2019-06-29 12:58:42.000000000 +0200 @@ -203,10 +203,13 @@ description, example_block ) + config = RSpec.configuration + config.apply_derived_metadata_to(@metadata) + # This should perhaps be done in `Metadata::ExampleHash.create`, # but the logic there has no knowledge of `RSpec.world` and we # want to keep it that way. It's easier to just assign it here. - @metadata[:last_run_status] = RSpec.configuration.last_run_statuses[id] + @metadata[:last_run_status] = config.last_run_statuses[id] @example_group_instance = @exception = nil @clock = RSpec::Core::Time 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 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/example_group.rb 2019-06-29 12:58:42.000000000 +0200 @@ -424,11 +424,15 @@ superclass.method(:next_runnable_index_for), description, *args, &example_group_block ) + + config = RSpec.configuration + config.apply_derived_metadata_to(@metadata) + ExampleGroups.assign_const(self) @currently_executing_a_context_hook = false - RSpec.configuration.configure_group(self) + config.configure_group(self) end # @private 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 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/formatters/exception_presenter.rb 2019-06-29 12:58:42.000000000 +0200 @@ -81,7 +81,7 @@ def fully_formatted_lines(failure_number, colorizer) lines = [ - description, + encoded_description(description), detail_formatter.call(example, colorizer), formatted_message_and_backtrace(colorizer), extra_detail_formatter.call(failure_number, colorizer), @@ -244,6 +244,17 @@ end end + if String.method_defined?(:encoding) + def encoded_description(description) + return if description.nil? + encoded_string(description) + end + else # for 1.8.7 + def encoded_description(description) + description + end + end + def exception_backtrace exception.backtrace || [] end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/memoized_helpers.rb new/lib/rspec/core/memoized_helpers.rb --- old/lib/rspec/core/memoized_helpers.rb 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/memoized_helpers.rb 2019-06-29 12:58:42.000000000 +0200 @@ -288,7 +288,26 @@ raise( "#let or #subject called with a reserved name #initialize" ) if :initialize == name - MemoizedHelpers.module_for(self).__send__(:define_method, name, &block) + our_module = MemoizedHelpers.module_for(self) + + # If we have a module clash in our helper module + # then we need to remove it to prevent a warning. + # + # Note we do not check ancestor modules (see: `instance_methods(false)`) + # as we can override them. + if our_module.instance_methods(false).include?(name) + our_module.__send__(:remove_method, name) + end + our_module.__send__(:define_method, name, &block) + + # If we have a module clash in the example module + # then we need to remove it to prevent a warning. + # + # Note we do not check ancestor modules (see: `instance_methods(false)`) + # as we can override them. + if instance_methods(false).include?(name) + remove_method(name) + end # Apply the memoization. The method has been defined in an ancestor # module so we can use `super` here to get the value. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/metadata.rb new/lib/rspec/core/metadata.rb --- old/lib/rspec/core/metadata.rb 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/metadata.rb 2019-06-29 12:58:42.000000000 +0200 @@ -136,7 +136,6 @@ populate_location_attributes metadata.update(user_metadata) - RSpec.configuration.apply_derived_metadata_to(metadata) end private @@ -169,7 +168,7 @@ end def description_separator(parent_part, child_part) - if parent_part.is_a?(Module) && child_part =~ /^(#|::|\.)/ + if parent_part.is_a?(Module) && /^(?:#|::|\.)/.match(child_part.to_s) ''.freeze else ' '.freeze 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 2018-08-04 21:47:16.000000000 +0200 +++ new/lib/rspec/core/version.rb 2019-06-29 12:58:42.000000000 +0200 @@ -3,7 +3,7 @@ # Version information for RSpec Core. module Version # Current version of RSpec Core, in semantic versioning format. - STRING = '3.8.0' + STRING = '3.8.2' end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2018-08-04 21:47:16.000000000 +0200 +++ new/metadata 2019-06-29 12:58:42.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: rspec-core version: !ruby/object:Gem::Version - version: 3.8.0 + version: 3.8.2 platform: ruby authors: - Steven Baker @@ -46,7 +46,7 @@ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ F3MdtaDehhjC -----END CERTIFICATE----- -date: 2018-08-04 00:00:00.000000000 Z +date: 2019-06-29 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rspec-support @@ -263,7 +263,12 @@ homepage: https://github.com/rspec/rspec-core licenses: - MIT -metadata: {} +metadata: + bug_tracker_uri: https://github.com/rspec/rspec-core/issues + changelog_uri: https://github.com/rspec/rspec-core/blob/v3.8.2/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: rdoc_options: - "--charset=UTF-8" @@ -280,9 +285,8 @@ - !ruby/object:Gem::Version version: '0' requirements: [] -rubyforge_project: -rubygems_version: 2.6.13 +rubygems_version: 3.0.3 signing_key: specification_version: 4 -summary: rspec-core-3.8.0 +summary: rspec-core-3.8.2 test_files: [] Binary files old/metadata.gz.sig and new/metadata.gz.sig differ
