commit rubygem-rspec-core for openSUSE:Factory
Hello community, here is the log from the commit of package rubygem-rspec-core for openSUSE:Factory checked in at 2019-12-28 13:39:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-rspec-core (Old) and /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.6675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "rubygem-rspec-core" Sat Dec 28 13:39:58 2019 rev:27 rq:747739 version:3.9.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-rspec-core/rubygem-rspec-core.changes 2019-07-22 12:16:12.707731034 +0200 +++ /work/SRC/openSUSE:Factory/.rubygem-rspec-core.new.6675/rubygem-rspec-core.changes 2019-12-28 13:40:05.898920253 +0100 @@ -1,0 +2,26 @@ +Tue Nov 12 14:46:03 UTC 2019 - Manuel Schnitzer <mschnitzer@suse.com> + +- updated to version 3.9.0 + + [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.2...v3.9.0) + + Enhancements: + * Improve the handling of errors during loading support files, if a file + errors before loading specs, RSpec will now skip loading the specs. + (David Rodríguez, #2568) + * Add support for --example-matches to run examples by regular expression. + (Sam Joseph, Matt Rider, @okothkongo1, #2586) + * Add `did_you_mean` suggestions for file names encountering a `LoadError` + outside of examples. (@obromios, #2601) + * Add a minimalist quick fix style formatter, only outputs failures as + `file:line:message`. (Romain Tartière, #2614) + * Convert string number values to integer when used for `RSpec::Configuration#fail_fast` + (Viktor Fonic, #2634) + * Issue warning when invalid values are used for `RSpec::Configuration#fail_fast` + (Viktor Fonic, #2634) + * Add support for running the Rake task in a clean environment. + (Jon Rowe, #2632) + * Indent messages by there example group / example in the documentation formatter. + (Samuel Williams, #2649) + +------------------------------------------------------------------- Old: ---- rspec-core-3.8.2.gem New: ---- rspec-core-3.9.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-rspec-core.spec ++++++ --- /var/tmp/diff_new_pack.Y32z1T/_old 2019-12-28 13:40:06.554920583 +0100 +++ /var/tmp/diff_new_pack.Y32z1T/_new 2019-12-28 13:40:06.558920585 +0100 @@ -24,7 +24,7 @@ # Name: rubygem-rspec-core -Version: 3.8.2 +Version: 3.9.0 Release: 0 %define mod_name rspec-core %define mod_full_name %{mod_name}-%{version} ++++++ rspec-core-3.8.2.gem -> rspec-core-3.9.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Changelog.md new/Changelog.md --- old/Changelog.md 2019-06-29 12:58:42.000000000 +0200 +++ new/Changelog.md 2019-10-07 23:38:46.000000000 +0200 @@ -1,3 +1,25 @@ +### 3.9.0 / 2019-10-07 +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.2...v3.9.0) + +Enhancements: +* Improve the handling of errors during loading support files, if a file + errors before loading specs, RSpec will now skip loading the specs. + (David Rodríguez, #2568) +* Add support for --example-matches to run examples by regular expression. + (Sam Joseph, Matt Rider, @okothkongo1, #2586) +* Add `did_you_mean` suggestions for file names encountering a `LoadError` + outside of examples. (@obromios, #2601) +* Add a minimalist quick fix style formatter, only outputs failures as + `file:line:message`. (Romain Tartière, #2614) +* Convert string number values to integer when used for `RSpec::Configuration#fail_fast` + (Viktor Fonic, #2634) +* Issue warning when invalid values are used for `RSpec::Configuration#fail_fast` + (Viktor Fonic, #2634) +* Add support for running the Rake task in a clean environment. + (Jon Rowe, #2632) +* Indent messages by there example group / example in the documentation formatter. + (Samuel Williams, #2649) + ### 3.8.2 / 2019-06-29 [Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.1...v3.8.2) @@ -8,7 +30,7 @@ (Myron Marston, #2635). ### 3.8.1 / 2019-06-13 -[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.0...3.8.1) +[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.8.0...v3.8.1) Bug Fixes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2019-06-29 12:58:42.000000000 +0200 +++ new/README.md 2019-10-07 23:38:46.000000000 +0200 @@ -53,7 +53,7 @@ ## Nested Groups -You can also declare nested nested groups using the `describe` or `context` +You can also declare nested groups using the `describe` or `context` methods: ```ruby 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/server.rb new/lib/rspec/core/bisect/server.rb --- old/lib/rspec/core/bisect/server.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/bisect/server.rb 2019-10-07 23:38:46.000000000 +0200 @@ -33,7 +33,7 @@ def start # Only allow remote DRb requests from this machine. - DRb.install_acl ACL.new(%w[ deny all allow localhost allow 127.0.0.1 ]) + DRb.install_acl ACL.new(%w[ deny all allow localhost allow 127.0.0.1 allow ::1 ]) # We pass `nil` as the first arg to allow it to pick a DRb port. @drb = DRb.start_service(nil, self) 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/configuration.rb 2019-10-07 23:38:46.000000000 +0200 @@ -202,10 +202,33 @@ only_failures? && !example_status_persistence_file_path end - # @macro add_setting + # @macro define_reader # If specified, indicates the number of failures required before cleaning - # up and exit (default: `nil`). - add_setting :fail_fast + # up and exit (default: `nil`). Can also be `true` to fail and exit on first + # failure + define_reader :fail_fast + + # @see fail_fast + def fail_fast=(value) + case value + when true, 'true' + @fail_fast = true + when false, 'false', 0 + @fail_fast = false + when nil + @fail_fast = nil + else + @fail_fast = value.to_i + + if value.to_i == 0 + # TODO: in RSpec 4, consider raising an error here. + RSpec.warning "Cannot set `RSpec.configuration.fail_fast`" \ + " to `#{value.inspect}`. Only `true`, `false`, `nil` and integers" \ + " are valid values." + @fail_fast = true + end + end + end # @macro add_setting # Prints the formatter output of your suite without running any @@ -1106,7 +1129,7 @@ # # # This lets you do this: # - # describe Thing do + # RSpec.describe Thing do # pending "does something" do # thing = Thing.new # end @@ -1114,7 +1137,7 @@ # # # ... which is the equivalent of # - # describe Thing do + # RSpec.describe Thing do # it "does something", :pending => true do # thing = Thing.new # end @@ -1167,7 +1190,7 @@ # # # allows the user to include a shared example group like: # - # describe Entity do + # RSpec.describe Entity do # it_has_behavior 'sortability' do # let(:sortable) { Entity.new } # end @@ -1718,7 +1741,7 @@ # rspec.expose_current_running_example_as :example # end # - # describe MyClass do + # RSpec.describe MyClass do # before do # # `example` can be used here because of the above config. # do_something if example.metadata[:type] == "foo" @@ -2051,6 +2074,11 @@ def load_file_handling_errors(method, file) __send__(method, file) + rescue LoadError => ex + relative_file = Metadata.relative_path(file) + suggestions = DidYouMean.new(relative_file).call + reporter.notify_non_example_exception(ex, "An error occurred while loading #{relative_file}.#{suggestions}") + RSpec.world.wants_to_quit = true rescue Support::AllExceptionsExceptOnesWeMustNotRescue => ex relative_file = Metadata.relative_path(file) reporter.notify_non_example_exception(ex, "An error occurred while loading #{relative_file}.") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/did_you_mean.rb new/lib/rspec/core/did_you_mean.rb --- old/lib/rspec/core/did_you_mean.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/rspec/core/did_you_mean.rb 2019-10-07 23:38:46.000000000 +0200 @@ -0,0 +1,46 @@ +module RSpec + module Core + # @private + # Wrapper around Ruby's `DidYouMean::SpellChecker` when available to provide file name suggestions. + class DidYouMean + attr_reader :relative_file_name + + def initialize(relative_file_name) + @relative_file_name = relative_file_name + end + + if defined?(::DidYouMean::SpellChecker) + # provide probable suggestions + def call + checker = ::DidYouMean::SpellChecker.new(:dictionary => Dir["spec/**/*.rb"]) + probables = checker.correct(relative_file_name.sub('./', ''))[0..2] + return '' unless probables.any? + + formats probables + end + else + # return a hint if API for ::DidYouMean::SpellChecker not supported + def call + "\nHint: Install the `did_you_mean` gem in order to provide suggestions for similarly named files." + end + end + + private + + def formats(probables) + rspec_format = probables.map { |s, _| "rspec ./#{s}" } + red_font(top_and_tail rspec_format) + end + + def top_and_tail(rspec_format) + spaces = ' ' * 20 + rspec_format.insert(0, ' - Did you mean?').join("\n#{spaces}") + "\n" + end + + def red_font(mytext) + colorizer = ::RSpec::Core::Formatters::ConsoleCodes + colorizer.wrap mytext, :failure + end + end + end +end 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/example_group.rb 2019-10-07 23:38:46.000000000 +0200 @@ -7,7 +7,7 @@ # ExampleGroup and {Example} are the main structural elements of # rspec-core. Consider this example: # - # describe Thing do + # RSpec.describe Thing do # it "does something" do # end # end @@ -90,7 +90,7 @@ # Returns the class or module passed to the `describe` method (or alias). # Returns nil if the subject is not a class or module. # @example - # describe Thing do + # RSpec.describe Thing do # it "does something" do # described_class == Thing # end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/formatters/documentation_formatter.rb new/lib/rspec/core/formatters/documentation_formatter.rb --- old/lib/rspec/core/formatters/documentation_formatter.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/formatters/documentation_formatter.rb 2019-10-07 23:38:46.000000000 +0200 @@ -6,12 +6,19 @@ module Formatters # @private class DocumentationFormatter < BaseTextFormatter - Formatters.register self, :example_group_started, :example_group_finished, + Formatters.register self, :example_started, :example_group_started, :example_group_finished, :example_passed, :example_pending, :example_failed def initialize(output) super @group_level = 0 + + @example_running = false + @messages = [] + end + + def example_started(_notification) + @example_running = true end def example_group_started(notification) @@ -27,19 +34,44 @@ def example_passed(passed) output.puts passed_output(passed.example) + + flush_messages + @example_running = false end def example_pending(pending) output.puts pending_output(pending.example, pending.example.execution_result.pending_message) + + flush_messages + @example_running = false end def example_failed(failure) output.puts failure_output(failure.example) + + flush_messages + @example_running = false + end + + def message(notification) + if @example_running + @messages << notification.message + else + output.puts "#{current_indentation}#{notification.message}" + end end private + def flush_messages + @messages.each do |message| + output.puts "#{current_indentation(1)}#{message}" + end + + @messages.clear + end + def passed_output(example) ConsoleCodes.wrap("#{current_indentation}#{example.description.strip}", :success) end @@ -61,8 +93,8 @@ @next_failure_index += 1 end - def current_indentation - ' ' * @group_level + def current_indentation(offset=0) + ' ' * (@group_level + offset) end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/formatters/failure_list_formatter.rb new/lib/rspec/core/formatters/failure_list_formatter.rb --- old/lib/rspec/core/formatters/failure_list_formatter.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/lib/rspec/core/formatters/failure_list_formatter.rb 2019-10-07 23:38:46.000000000 +0200 @@ -0,0 +1,23 @@ +RSpec::Support.require_rspec_core "formatters/base_formatter" + +module RSpec + module Core + module Formatters + # @private + class FailureListFormatter < BaseFormatter + Formatters.register self, :example_failed, :dump_profile, :message + + def example_failed(failure) + output.puts "#{failure.example.location}:#{failure.example.description}" + end + + # Discard profile and messages + # + # These outputs are not really relevant in the context of this failure + # list formatter. + def dump_profile(_profile); end + def message(_message); end + end + end + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/formatters.rb new/lib/rspec/core/formatters.rb --- old/lib/rspec/core/formatters.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/formatters.rb 2019-10-07 23:38:46.000000000 +0200 @@ -74,6 +74,7 @@ autoload :JsonFormatter, 'rspec/core/formatters/json_formatter' autoload :BisectDRbFormatter, 'rspec/core/formatters/bisect_drb_formatter' autoload :ExceptionPresenter, 'rspec/core/formatters/exception_presenter' + autoload :FailureListFormatter, 'rspec/core/formatters/failure_list_formatter' # Register the formatter class # @param formatter_class [Class] formatter class to register @@ -212,6 +213,8 @@ JsonFormatter when 'bisect-drb' BisectDRbFormatter + when 'f', 'failures' + FailureListFormatter end end 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/hooks.rb 2019-10-07 23:38:46.000000000 +0200 @@ -60,7 +60,8 @@ # 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. + # in the order in which they are declared. Any `around` hooks will execute + # later than any `before` hook regardless of scope. # # ### Conditions # @@ -74,11 +75,11 @@ # end # end # - # describe Something, :authorized => true do + # RSpec.describe Something, :authorized => true do # # The before hook will run in before each example in this group. # end # - # describe SomethingElse do + # RSpec.describe SomethingElse do # it "does something", :authorized => true do # # The before hook will run before this example. # end @@ -159,7 +160,7 @@ # # @example before(:example) declared in an {ExampleGroup} # - # describe Thing do + # RSpec.describe Thing do # before(:example) do # @thing = Thing.new # end @@ -171,7 +172,7 @@ # # @example before(:context) declared in an {ExampleGroup} # - # describe Parser do + # RSpec.describe Parser do # before(:context) do # File.open(file_to_parse, 'w') do |f| # f.write <<-CONTENT @@ -261,7 +262,8 @@ # # 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. + # 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. # # @note The `:example` and `:context` scopes are also available as # `:each` and `:all`, respectively. Use whichever you prefer. @@ -329,6 +331,12 @@ # around(:example) {|ex| Database.transaction(&ex)} # around(:example) {|ex| FakeFS(&ex)} # + # ### 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. + # + # They are not a synonym for `before`/`after`. def around(*args, &block) hooks.register :prepend, :around, *args, &block 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/memoized_helpers.rb 2019-10-07 23:38:46.000000000 +0200 @@ -10,7 +10,7 @@ # @note `subject` was contributed by Joe Ferris to support the one-liner # syntax embraced by shoulda matchers: # - # describe Widget do + # RSpec.describe Widget do # it { is_expected.to validate_presence_of(:name) } # # or # it { should validate_presence_of(:name) } @@ -23,7 +23,7 @@ # @example # # # Explicit declaration of subject. - # describe Person do + # RSpec.describe Person do # subject { Person.new(:birthdate => 19.years.ago) } # it "should be eligible to vote" do # subject.should be_eligible_to_vote @@ -32,7 +32,7 @@ # end # # # Implicit subject => { Person.new }. - # describe Person do + # RSpec.describe Person do # it "should be eligible to vote" do # subject.should be_eligible_to_vote # # ^ ^ explicit reference to subject not recommended @@ -40,7 +40,7 @@ # end # # # One-liner syntax - expectation is set on the subject. - # describe Person do + # RSpec.describe Person do # it { is_expected.to be_eligible_to_vote } # # or # it { should be_eligible_to_vote } @@ -67,7 +67,7 @@ # # @example # - # describe Person do + # RSpec.describe Person do # it { should be_eligible_to_vote } # end # @@ -86,7 +86,7 @@ # # @example # - # describe Person do + # RSpec.describe Person do # it { should_not be_eligible_to_vote } # end # @@ -270,7 +270,7 @@ # # @example # - # describe Thing do + # RSpec.describe Thing do # let(:thing) { Thing.new } # # it "does something" do @@ -342,7 +342,7 @@ # end # end # - # describe Thing do + # RSpec.describe Thing do # after(:example) { Thing.reset_count } # # context "using let" do @@ -398,13 +398,13 @@ # # @example # - # describe CheckingAccount, "with $50" do + # RSpec.describe CheckingAccount, "with $50" do # subject { CheckingAccount.new(Money.new(50, :USD)) } # it { is_expected.to have_a_balance_of(Money.new(50, :USD)) } # it { is_expected.not_to be_overdrawn } # end # - # describe CheckingAccount, "with a non-zero starting balance" do + # RSpec.describe CheckingAccount, "with a non-zero starting balance" do # subject(:account) { CheckingAccount.new(Money.new(50, :USD)) } # it { is_expected.not_to be_overdrawn } # it "has a balance equal to the starting balance" do @@ -452,7 +452,7 @@ # end # end # - # describe Thing do + # RSpec.describe Thing do # after(:example) { Thing.reset_count } # # context "using subject" do 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/metadata.rb 2019-10-07 23:38:46.000000000 +0200 @@ -7,7 +7,7 @@ # In addition to metadata that is used internally, this also stores # user-supplied metadata, e.g. # - # describe Something, :type => :ui do + # RSpec.describe Something, :type => :ui do # it "does something", :slow => true do # # ... # end 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/option_parser.rb 2019-10-07 23:38:46.000000000 +0200 @@ -37,6 +37,7 @@ # rubocop:disable Metrics/AbcSize # rubocop:disable CyclomaticComplexity # rubocop:disable PerceivedComplexity + # rubocop:disable Metrics/BlockLength def parser(options) OptionParser.new do |parser| parser.summary_width = 34 @@ -111,6 +112,7 @@ ' [d]ocumentation (group and example names)', ' [h]tml', ' [j]son', + ' [f]ailures ("file:line:reason", suitable for editors integration)', ' custom formatter class name') do |o| options[:formatters] ||= [] options[:formatters] << [o] @@ -226,6 +228,11 @@ (options[:full_description] ||= []) << Regexp.compile(Regexp.escape(o)) end + parser.on('-E', '--example-matches REGEX', "Run examples whose full nested names match REGEX (may be", + " used more than once)") do |o| + (options[:full_description] ||= []) << Regexp.compile(o) + end + parser.on('-t', '--tag TAG[:VALUE]', 'Run examples with the specified tag, or exclude examples', 'by adding ~ before the tag.', @@ -288,6 +295,7 @@ end end end + # rubocop:enable Metrics/BlockLength # rubocop:enable Metrics/AbcSize # rubocop:enable MethodLength # rubocop:enable CyclomaticComplexity diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/rake_task.rb new/lib/rspec/core/rake_task.rb --- old/lib/rspec/core/rake_task.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/rake_task.rb 2019-10-07 23:38:46.000000000 +0200 @@ -45,6 +45,21 @@ # A message to print to stderr when there are failures. attr_accessor :failure_message + if RUBY_VERSION < "1.9.0" || Support::Ruby.jruby? + # Run RSpec with a clean (empty) environment is not supported + def with_clean_environment=(_value) + raise ArgumentError, "Running in a clean environment is not supported on Ruby versions before 1.9.0" + end + + # Run RSpec with a clean (empty) environment is not supported + def with_clean_environment + false + end + else + # Run RSpec with a clean (empty) environment. + attr_accessor :with_clean_environment + end + # Use verbose output. If this is set to true, the task will print the # executed spec command to stdout. Defaults to `true`. attr_accessor :verbose @@ -76,7 +91,12 @@ command = spec_command puts command if verbose - return if system(command) + if with_clean_environment + return if system({}, command, :unsetenv_others => true) + else + return if system(command) + end + puts failure_message if failure_message return unless fail_on_error diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/reporter.rb new/lib/rspec/core/reporter.rb --- old/lib/rspec/core/reporter.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/reporter.rb 2019-10-07 23:38:46.000000000 +0200 @@ -77,6 +77,14 @@ end end + # @param exit_code [Integer] the exit_code to be return by the reporter + # + # Reports a run that exited early without having run any examples. + # + def exit_early(exit_code) + report(0) { exit_code } + end + # @private def start(expected_example_count, time=RSpec::Core::Time.now) @start = time 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/runner.rb 2019-10-07 23:38:46.000000000 +0200 @@ -84,6 +84,8 @@ # @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 + run_specs(@world.ordered_example_groups).tap do persist_example_statuses end @@ -95,7 +97,10 @@ # @param out [IO] output stream def setup(err, out) configure(err, out) + return if RSpec.world.wants_to_quit + @configuration.load_spec_files + ensure @world.announce_filters end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core/shared_example_group.rb new/lib/rspec/core/shared_example_group.rb --- old/lib/rspec/core/shared_example_group.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/shared_example_group.rb 2019-10-07 23:38:46.000000000 +0200 @@ -76,7 +76,7 @@ # end # end # - # describe Account do + # RSpec.describe Account do # it_behaves_like "auditable" do # let(:auditable) { Account.new } # end 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 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core/version.rb 2019-10-07 23:38:46.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.2' + STRING = '3.9.0' end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/rspec/core.rb new/lib/rspec/core.rb --- old/lib/rspec/core.rb 2019-06-29 12:58:42.000000000 +0200 +++ new/lib/rspec/core.rb 2019-10-07 23:38:46.000000000 +0200 @@ -139,6 +139,7 @@ module Core autoload :ExampleStatusPersister, "rspec/core/example_status_persister" autoload :Profiler, "rspec/core/profiler" + autoload :DidYouMean, "rspec/core/did_you_mean" # @private # This avoids issues with reporting time caused by examples that diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2019-06-29 12:58:42.000000000 +0200 +++ new/metadata 2019-10-07 23:38:46.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: rspec-core version: !ruby/object:Gem::Version - version: 3.8.2 + version: 3.9.0 platform: ruby authors: - Steven Baker @@ -46,7 +46,7 @@ ZsVDj6a7lH3cNqtWXZxrb2wO38qV5AkYj8SQK7Hj3/Yui9myUX3crr+PdetazSqQ F3MdtaDehhjC -----END CERTIFICATE----- -date: 2019-06-29 00:00:00.000000000 Z +date: 2019-10-07 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rspec-support @@ -54,14 +54,14 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: 3.8.0 + version: 3.9.0 type: :runtime prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: 3.8.0 + version: 3.9.0 - !ruby/object:Gem::Dependency name: cucumber requirement: !ruby/object:Gem::Requirement @@ -96,14 +96,14 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: 0.6.2 + version: 0.14.9 type: :development prerelease: false version_requirements: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: 0.6.2 + version: 0.14.9 - !ruby/object:Gem::Dependency name: coderay requirement: !ruby/object:Gem::Requirement @@ -199,6 +199,7 @@ - lib/rspec/core/bisect/utilities.rb - lib/rspec/core/configuration.rb - lib/rspec/core/configuration_options.rb +- lib/rspec/core/did_you_mean.rb - lib/rspec/core/drb.rb - lib/rspec/core/dsl.rb - lib/rspec/core/example.rb @@ -216,6 +217,7 @@ - lib/rspec/core/formatters/deprecation_formatter.rb - lib/rspec/core/formatters/documentation_formatter.rb - lib/rspec/core/formatters/exception_presenter.rb +- lib/rspec/core/formatters/failure_list_formatter.rb - lib/rspec/core/formatters/fallback_message_formatter.rb - lib/rspec/core/formatters/helpers.rb - lib/rspec/core/formatters/html_formatter.rb @@ -265,7 +267,7 @@ - MIT 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 + changelog_uri: https://github.com/rspec/rspec-core/blob/v3.9.0/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 @@ -285,8 +287,8 @@ - !ruby/object:Gem::Version version: '0' requirements: [] -rubygems_version: 3.0.3 +rubygems_version: 3.0.6 signing_key: specification_version: 4 -summary: rspec-core-3.8.2 +summary: rspec-core-3.9.0 test_files: [] Binary files old/metadata.gz.sig and new/metadata.gz.sig differ
participants (1)
-
root