-
-
Notifications
You must be signed in to change notification settings - Fork 753
Comparing changes
Open a pull request
base repository: rspec/rspec-core
base: v3.5.0.beta4
head repository: rspec/rspec-core
compare: v3.5.0
- 17 commits
- 23 files changed
- 4 contributors
Commits on Jun 5, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 652b251 - Browse repository at this point
Copy the full SHA 652b251View commit details -
Configuration menu - View commit details
-
Copy full SHA for f797b9d - Browse repository at this point
Copy the full SHA f797b9dView commit details
Commits on Jun 6, 2016
-
Merge pull request #2261 from rspec/update-travis-build-scripts-2016-…
…06-05-for-master Updates from rspec-dev (2016-06-05)
Configuration menu - View commit details
-
Copy full SHA for bc14826 - Browse repository at this point
Copy the full SHA bc14826View commit details
Commits on Jun 14, 2016
-
Currently if RSpec is invoked with SPEC_OPTS="--bisect", an infinite number of child processes is spawned. This is because the bisect feature works by spawning child processes for each bisection run. In the normal cli usage case, the --bisect argument is removed before the child processes are invoked. It is not removed from the SPEC_OPTS variable, however, meaning each child process believes it's starting a new bisection. This commit allows Bisect::Runner to invoke its child processes with a modified environment, removing --bisect if present. In modern rubies we can use Open3.capture2e's optional environment argument - in older rubies and JRuby we have to fall back on modifying the parent process's environment, then restoring it after the child process has run. Previously the Bisect::Runner was invoked during options parsing. However, because SPEC_OPTS and the cli args are parsed by separate instances of the parser, invoking the bisection during SPEC_OPTS parsing meant the cli args were lost. To address this I've made the OptionParser set a :bisect option, which is then picked up in the main Runner to invoke the actual bisection. This has increased the complexity of Runner.run, and there are other invocations remaining in the OptionParser (e.g. --init and --help). These will be refactored in a follow-up commit, so that the OptionParser sets a callable in each case that can be called in the main Runner.
Configuration menu - View commit details
-
Copy full SHA for 9780a52 - Browse repository at this point
Copy the full SHA 9780a52View commit details -
Set alternative RSpec invocations as callables in OptionParser
RSpec can be invoked with a number of CLI flags that result in substantially different code paths. As well as the default runner, there is: * `--init` - initializes the project directory and exits * `--help` - prints CLI usage and exits * `--version` - prints the version and exits * `--drb` - runs examples via a DRb connection * `--bisect` - starts a bisection process Previously some of these paths were invoked directly in the OptionParser (--init, --help and --version), while others were invoked by the main Runner.run call. This necessitated a lot of complexity in Runner.run, and a reasonable amount of stubbing of exit calls (which can be error-prone, and lead to a prematurely-terminated test run). This commit refactors the different invocations into callables, which the OptionParser sets as the `:runner` option. If an alternative invocation is found in Runner.run, it is used, falling back to the default of instantiating a Runner and starting it. The invocation callables do not handle exiting themselves, but are required to return an exit code instead. They must all accept the following arguments: @param options [RSpec::Core::ConfigurationOptions] @param err [IO] @param out [IO] At the moment the invocations are tested via the OptionParser specs - in future work we intend to extract these to their own module and test them independently.
Configuration menu - View commit details
-
Copy full SHA for b420cf5 - Browse repository at this point
Copy the full SHA b420cf5View commit details -
Disable PerceivedComplexity cop for Parser#parse
This method is now occasionally (but not reliably) failing the PerceivedComplexity cop. Since the complexity of this method is hard to control and the CyclomaticComplexity rule is already disabled for it, I'm turning off the cop for this method only.
Configuration menu - View commit details
-
Copy full SHA for b5741ab - Browse repository at this point
Copy the full SHA b5741abView commit details -
Force ruby 2.2 version to 2.2.5 on travis
Previously, this was set to `2.2` in the expectation that travis would use the latest of the 2.2.x branch as a result. However, builds appear to be running with 2.2.0-p0, which contains erroneous warnings that can force variables and lets to be needlessly renamed. While this may be a travis bug, I'm explicitly setting the version in the configuration to ensure that an up-to-date version is picked up in the meanwhile.
Configuration menu - View commit details
-
Copy full SHA for 4add368 - Browse repository at this point
Copy the full SHA 4add368View commit details -
Extract Parser::Callables to Invocations module
Previous work introduced a set of invocation callables that could be set in the OptionParser to run instead of the default RSpec::Core::Runner. Testing them via the the OptionParser seemed out-of-place, however, and made the test stimulus needlessly complex. This change extracts the invocations to a set of callable objects defined in the RSpec::Core::Invocations namespace, allowing them to be tested separately from the OptionParser.
Configuration menu - View commit details
-
Copy full SHA for d52c969 - Browse repository at this point
Copy the full SHA d52c969View commit details -
Merge pull request #2271 from urbanautomaton/support-bisect-in-spec-opts
Support bisect in spec opts
Configuration menu - View commit details
-
Copy full SHA for 97a0cdb - Browse repository at this point
Copy the full SHA 97a0cdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2edb982 - Browse repository at this point
Copy the full SHA 2edb982View commit details
Commits on Jun 15, 2016
-
Configuration menu - View commit details
-
Copy full SHA for e6e7fb6 - Browse repository at this point
Copy the full SHA e6e7fb6View commit details -
Merge pull request #2272 from rspec/update-travis-build-scripts-2016-…
…06-14-for-master Updates from rspec-dev (2016-06-14)
Configuration menu - View commit details
-
Copy full SHA for 9456a31 - Browse repository at this point
Copy the full SHA 9456a31View commit details
Commits on Jun 17, 2016
-
Include SPEC_OPTS values in bisect reproduction command
Previously the following command: SPEC_OPTS="--bisect --seed 125" rspec blah_spec.rb would return a repro command something like rspec blah_spec.rb[1:2,1:4] However, this won't run in the correct order without the seed. This patch includes SPEC_OPTS in the bisect reproduction command, minus the `--bisect` flag. By default, cukes using aruba to run commands are given an environment with SPEC_OPTS="-r/path/to/features/support/require_expect_syntax_in_aruba_specs.rb", which ensures that `should` and `should_not` are not used in the examples. Now that SPEC_OPTS is included in the bisect reproduction command, however, this setting shows up in the final output, breaking the existing assertions. To prevent this I've added a new tag, `@with-clean-spec-opts`, and added this tag to the logic controlling whether the above file is loaded.
Configuration menu - View commit details
-
Copy full SHA for 796f2e9 - Browse repository at this point
Copy the full SHA 796f2e9View commit details -
Merge pull request #2274 from urbanautomaton/include-spec-opts-in-bis…
…ect-repro-command Include SPEC_OPTS in bisect reproduction command
Configuration menu - View commit details
-
Copy full SHA for 407328c - Browse repository at this point
Copy the full SHA 407328cView commit details -
Configuration menu - View commit details
-
Copy full SHA for fe1256b - Browse repository at this point
Copy the full SHA fe1256bView commit details
Commits on Jul 1, 2016
-
Sam Phippen committed
Jul 1, 2016 Configuration menu - View commit details
-
Copy full SHA for 134028d - Browse repository at this point
Copy the full SHA 134028dView commit details -
Add changelog entry for v3.5.0
Sam Phippen committedJul 1, 2016 Configuration menu - View commit details
-
Copy full SHA for 21b8ae6 - Browse repository at this point
Copy the full SHA 21b8ae6View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v3.5.0.beta4...v3.5.0