Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
Commits on Mar 17, 2013
@fj fj Adds default_path, if it's a directory, to LOAD_PATH 1eb76bd
@myronmarston myronmarston Merge pull request #831 from fj/topic/include-default-path-as-load-path
Adds --default-path, if specified, into LOAD_PATH
@myronmarston myronmarston Add changelog entry for #831.
[ci skip]
Commits on Mar 18, 2013
@myronmarston myronmarston Prefer actually testing load path mutation over mocking.
There wasn't anything testing the logic in `add_project_paths`, so
this approach will be a better guard against regressions.
@cupakromer cupakromer Add some humanistic logic to test time precision.
Precision should really be a function of the number of tests and time. A
small number of tests with a long time, does not warrant a high
precision. However, if you had 8,000 tests (think JPL code) you would
care about a higher precision, even if your test suite ran for 4

Since the code that does the formatting does not know about the number
of tests, the following is a rough middle ground, which is completely
arbitrary based on how I felt and not on any real science.

  * <   1 seconds: Give me all the precisions
  * < 120 seconds: Hundredths of a second are good
  * < 300 seconds: Tenths of a second, because I just can't give em up
  * > 300 seconds: Seconds, because you can't wait this long anyways

[Close #807]
@myronmarston myronmarston Merge pull request #833 from cupakromer/sane-execution-pericision
Add some humanistic logic to test time precision.
@myronmarston myronmarston Move the 2 enhancements that were listed under 2.13.1 into dev section.
They haven't been released yet (patch releases shouldn't contain new
features), and were erroneously added to the 2.13.1 section.
@myronmarston myronmarston Address deprecation warning from rspec-mocks. d98336a
@myronmarston myronmarston Prevent an inner group method def from overriding an outer group subj…
Commits on Mar 19, 2013
@myronmarston myronmarston Merge pull request #814 from rspec/prevent_invalid_named_subject_over…

Prevent an inner group method def from overriding an outer group subject
Commits on Mar 20, 2013
@mshytikov mshytikov added test for random number generation 4b46c9b
@mshytikov mshytikov replace rand generation with instance of Random 66b14a9
@mshytikov mshytikov Revert "replace rand generation with instance of Random"
This reverts commit 66b14a9.
@mshytikov mshytikov reset seed after ordering 905b58e
@sorentwo sorentwo Synchronize `rspec spec` and `rake spec` output
By removing the `rake spec` short circuiting the output between
invocation methods matches more closely.

Fixes rspec/rspec-core#812
@myronmarston myronmarston Update docs to warn against using let/subject in `before(:all)`. 0848dea
@mshytikov mshytikov Revert "added test for random number generation"
This reverts commit 4b46c9b.
@mshytikov mshytikov added test created by @myronmarston 7f36e66
@myronmarston myronmarston Merge pull request #837 from mshytikov/rand
Replace Kernel.srand with
@myronmarston myronmarston Fix indentation. ebf1037
@myronmarston myronmarston Changelog entry for #837.
[ci skip]
@JonRowe JonRowe cleanup white space 23dd3a0
Commits on Mar 21, 2013
@gja gja Pending spec for shared context that exposes Issue #632 7ff0e81
@JonRowe JonRowe revert whitespace cleanup in console output (doh) 59646fb
Commits on Mar 22, 2013
@myronmarston myronmarston Merge pull request #839 from JonRowe/cleanup_white_space
Cleanup stray whitespace
Commits on Mar 24, 2013
@pjg pjg Don't --profile with --fail-fast and failures
i.e. don't display slow examples in the output if `--fail-fast` option
is used and there are any failures as it clutters the output.

References #730.
@pjg pjg Make JSON formatter behave the same as text formatter
When it comes to `--profile` and `--fail-fast`.
@pjg pjg Extract `mute_profile_output?` method df814ca
@myronmarston myronmarston Merge pull request #825 from pjg/disable_profile_with_fast_fail
Disable profile output if there are failures and --fail-fast is used
Commits on Mar 25, 2013
@michihuber michihuber example group: register global hooks before individual config 7a88e87
@samphippen samphippen Make backtrace cleaning the responsibility of a class
Signed-off-by: Sam Phippen <>
@samphippen samphippen Refactor the backtrace cleaner for greater clarity
Signed-off-by: Sam Phippen <>
@samphippen samphippen Use exclude instead of discard in the backtrace cleaner
Signed-off-by: Sam Phippen <>
@samphippen samphippen Use "an_exclude" instead of "a_exclude". Grammar is important.
Signed-off-by: Sam Phippen <>
@samphippen samphippen Change include? for exclude? on backtrace cleaner
This also removes the helper methods.

Signed-off-by: Sam Phippen <>
@samphippen samphippen Make the description on one of the BacktraceCleaner tests more readable
Signed-off-by: Sam Phippen <>
@samphippen samphippen Rename backtrace_clean_patterns to backtrace_exclude_patterns
This also deprecates backtrace_clean_patterns

Signed-off-by: Sam Phippen <>
@samphippen samphippen Remove Configuration#cleaned_from_backtrace?
We now use config.backtrace_cleaner.exclude?

Signed-off-by: Sam Phippen <>
@samphippen samphippen Add specs exposing failing attribute setters
Signed-off-by: Sam Phippen <>
@samphippen samphippen Pull backtrace cleaning behaviour into the backtrace_cleaner object
Signed-off-by: Sam Phippen <>
@samphippen samphippen Change include/exclude for inclusion/exclusion in the backtrace cleaner
Signed-off-by: Sam Phippen <>
@samphippen samphippen Change add_setting to match the new cleaner names
Signed-off-by: Sam Phippen <>
@samphippen samphippen Remove add_setting calls in backtrace_cleaner
this are now unneeded because we've defined instance methods that handle
these configuration options

Signed-off-by: Sam Phippen <>
@samphippen samphippen Kill deprecation warnings for new backtrace specs
This is done by either using the new backtrace_exclusion_patterns or
stubbing RSpec.warn_deprecation

Signed-off-by: Sam Phippen <>
@samphippen samphippen Fix failing html/text_mate formatter specs
Signed-off-by: Sam Phippen <>
@samphippen samphippen Revert "Remove add_setting calls in backtrace_cleaner"
This reverts commit ae7fb79.
@samphippen samphippen Change the default inclusion behaviour of the backtrace cleaner
By default the current working directory will only be included if it
matches one of the exclusion patterns

Signed-off-by: Sam Phippen <>
@samphippen samphippen Add some documentation for new backtrace behaviuor, move old docs.
Signed-off-by: Sam Phippen <>
@samphippen samphippen Swap in new exclude/include language in backtrace_cleaner_spec
Signed-off-by: Sam Phippen <>
@samphippen samphippen Add specs for new default behaviour of backtrace cleaner.
Signed-off-by: Sam Phippen <>
@samphippen samphippen Fix weird newline issue
Signed-off-by: Sam Phippen <>
Commits on Mar 26, 2013
@myronmarston myronmarston Merge pull request #843 from samphippen/backtrace-cleaner
Backtrace cleaner
@myronmarston myronmarston Changelog entries for #843.
[ci skip]
@myronmarston myronmarston Merge pull request #845 from michihuber/issue-632
example group: register global hooks before individual config
@myronmarston myronmarston Changelog entry for #845.
[ci skip]
@hron84 hron84 Adding trim option to ERB, closes #840 3874756
@samphippen samphippen Fix typod "optio" for "option" in
Signed-off-by: Sam Phippen <>
@myronmarston myronmarston Merge pull request #847 from samphippen/fix-backtrace-cleaner-changelog
Fix typod "optio" for "option" in
Commits on Mar 27, 2013
@hron84 hron84 Adding test to make sure we can parse ERB format if trimming dash is …
Commits on Mar 29, 2013
@hron84 hron84 Replacing condition to true 267af49
Commits on Mar 30, 2013
@hron84 hron84 Removing SyntaxError expectation 0bcd11b
Commits on Mar 31, 2013
@myronmarston myronmarston Fix sandboxing of rspec-core's own specs.
Because rspec-core dog-foods itself, rspec-core's spec suite has
examples that define example groups and examples and run them. The
usual lifetime of an RSpec::Mocks::Proxy is for one example
(the proxy cache gets cleared between each example), but since the
specs in rspec-core's suite sometimes create test doubles and pass
them to examples a spec defines and runs, the test double's proxy
must live beyond the inner example: it must live for the scope
of wherever it got defined. Here we implement the necessary semantics
for rspec-core's specs:

- #verify_all and #reset_all affect only mocks that were created
 within the current scope.
- Mock proxies live for the duration of the scope in which they are

Thus, mock proxies created in an inner example live for only that
example, but mock proxies created in an outer example can be used
in an inner example but will only be reset/verified when the outer
example completes.

These changes were needed due to the recent refactoring in rspec-mocks
which changed what held a reference to the mock proxy (a proxy cache
rather than an instance variable on the mocked object) and the
lifecycle of those proxies (cleared between each example rather
than persisted for the rest of the process).
@myronmarston myronmarston Merge pull request #852 from rspec/fix_sandboxing
Fix sandboxing of rspec-core's own specs.
@myronmarston myronmarston Merge pull request #846 from hron84/feature-erb-trim
Adding trim option to ERB, closes #840
@myronmarston myronmarston Update Changelog for #846.
[ci skip]
Commits on Apr 05, 2013
@rubiii rubiii added failing spec for calling #let w/o a block bbfa594
@samphippen samphippen Give a useful error when let or subject called without a block.
This is done by nil chcking the block in let before using it.

Signed-off-by: Sam Phippen <>
@samphippen samphippen Changelog entry for new subject/let error messages
Signed-off-by: Sam Phippen <>
Commits on Apr 06, 2013
@JonRowe JonRowe Merge pull request #838 from sorentwo/sync-rake-spec-output
Synchronize `rspec spec` and `rake spec` output
@sorentwo sorentwo Unify "run everything" cukes and clarify usage
This collapses the descriptions of both former
run_everything_when_everything_filtered features. Additionally it adds
a scenario showing that the setting only applies to inclusion filters,
not exclusion filters.
@myronmarston myronmarston Merge pull request #860 from sorentwo/unify-run-all-cukes
Unify "run everything" cukes and clarify usage
@myronmarston myronmarston Merge pull request #859 from samphippen/let-without-a-block
Give a better error message when let called without a block.
Commits on Apr 07, 2013
@samphippen samphippen Update the cucumber for configuration files for .rspec-local
this is so we get some docs on relish for this.

Signed-off-by: Sam Phippen <>
@alindeman alindeman Merge pull request #861 from samphippen/cuke-rspec-local
Update the cucumber feature on configuration files to have docs about .rspec-local
Commits on Apr 09, 2013
@dchelimsky dchelimsky include matcher-generated descriptions in full_description
* Fixes #849
@myronmarston myronmarston Merge pull request #866 from rspec/issue-849
include matcher-generated descriptions in full_description
@myronmarston myronmarston Add changelog entry for #866.
[ci skip]
Commits on Apr 10, 2013
@rkh rkh add support for curly brackets with the --pattern option, fixes #868 c0632ab
Commits on Apr 11, 2013
@myronmarston myronmarston Merge pull request #869 from rkh/curly-pattern
add support for curly brackets with the --pattern option, fixes #868
@myronmarston myronmarston Changelog for #869.
[ci skip]
@soulcutter soulcutter Moves where load path setup and requires happen
* Fixes --require commandline option regression from #831
* Add cucumber documentation for --require
@soulcutter soulcutter Add changelog entry for --require regression 7445ab1
Commits on Apr 12, 2013
@soulcutter soulcutter Improve --require documentation 9606250
@soulcutter soulcutter Deprecate RSpec::Core::Configuration#requires= 0538549
delba Fix typo 75fffb9
Commits on Apr 13, 2013
@soulcutter soulcutter Improve --require docs with something more useful
Add deprecation to changelog
@soulcutter soulcutter Merge pull request #872 from delba/typo
Fix typo
@myronmarston myronmarston Merge pull request #867 from soulcutter/require-option-regression
Require option regression / Deprecate Configuration#requires=
Commits on Apr 17, 2013
@JonRowe JonRowe alternate exposing of config variables
@JonRowe JonRowe specify a docstring for the spec 1711cfd
@JonRowe JonRowe add linebreaks 330989f
@soulcutter soulcutter Remove redundant spec 4f6f367
@JonRowe JonRowe suggested specify/it changes and linebreak from @myronmarston in #874 53ba518
@JonRowe JonRowe reword doc strings 2ca7fac
@soulcutter soulcutter bring in support for the new backtrace cleaner 47591a0
@JonRowe JonRowe add specs for the reader of backtrace cleaner state d9f704c
@JonRowe JonRowe line breaks 3b103f8
@JonRowe JonRowe making line numbers symetrical in terms of config reading 6da1f16
@JonRowe JonRowe making full description symetrical in terms of config reading c80d755
@JonRowe JonRowe updating specs to remove deprecations 8b25bbb
@JonRowe JonRowe record only the libs we've added to the load path 8405f76
Commits on Apr 18, 2013
@JonRowe JonRowe test that we dont leak define_method into public methods fbc33d6
@thomas-holmes thomas-holmes No longer make define_method public, use send instead.
MemoizedHelpers::ClassMethods module was making define_method
public for ease of use within the module. No longer do this and
use send instead. This fixes rspec/rspec-core#873.
@JonRowe JonRowe update changelog cdeb6ef
@JonRowe JonRowe Merge pull request #873 from rspec/prevent_define_method_leaking_as_p…

RSpec makes define_method public?
@myronmarston myronmarston Merge pull request #834 from JonRowe/alternate_expose_config_options_…

Expose configuration options
@JonRowe JonRowe changelog entry for config options 9105d3c
@JonRowe JonRowe make some suggested syntax tweaks ec10d78
Commits on Apr 19, 2013
@JonRowe JonRowe Merge pull request #876 from JonRowe/tweak_exposed_config_options
Tweak exposed config variables (yay travis bot)
Commits on Apr 20, 2013
@JonRowe JonRowe remove a string eval df648fa
Commits on Apr 21, 2013
@soulim soulim Add setters for and RSpec.configuration 02ed4fa
@samphippen samphippen Merge pull request #882 from soulim/configuration-setter
Add setters for and RSpec.configuration
@samphippen samphippen Add a changelog entry for #882.
Signed-off-by: Sam Phippen <>
Commits on Apr 23, 2013
@JonRowe JonRowe check we can have a formatter that doesnt register to events 38f6741
@JonRowe JonRowe register listeners based on the messages they subscribe to 82ac648
@JonRowe JonRowe refactor to make register_listener a public api 8935d13
Commits on Apr 29, 2013
@JonRowe JonRowe tweak html to pass xmllint 40501f4
@JonRowe JonRowe fix formatter so it will pass xmllint b295e16
Commits on Apr 30, 2013
@JonRowe JonRowe update all formatters e36c2b1
Commits on May 01, 2013
@JonRowe JonRowe configure warnings 4113409
@JonRowe JonRowe document feature 7afac4b
@JonRowe JonRowe changelog cbee700
@JonRowe JonRowe set $VERBOSE in config 25929d1
@JonRowe JonRowe formatting f71a593
@JonRowe JonRowe Merge pull request #890 from JonRowe/enable_warnings
Configure warnings behaviour with --warnings
@JonRowe JonRowe Show warnings 1352aae
@lfu lfu Show the slowest example groups along with the slowest examples in a …
…report when using `--profile COUNT` (default 10).
@lfu lfu Cosmetic changes. c7c464f
@lfu lfu Add example group's filename and line number in the output. bee0471
@lfu lfu Use the same style as for the examples. 01eaa92
@lfu lfu Treat the same doc string in different files as different example gro…
@myronmarston myronmarston Merge pull request #887 from lfu/master
Show the slowest described classes along with the slowest examples in a report when using `--profile COUNT`
Commits on May 06, 2013
@JonRowe JonRowe use method rather than ivar directly d58c8db
@JonRowe JonRowe Merge pull request #884 from JonRowe/make_reporter_register_and_send
Send formatters only messages they implement
@JonRowe JonRowe Clone rather than dup Time, fixes #894 445c482
@JonRowe JonRowe work around issues with dup/clone 397988a
@JonRowe JonRowe refactor redefinition of time d174927
@JonRowe JonRowe update changelog d657705
@JonRowe JonRowe fix a warning 32dcd1a
Commits on May 07, 2013
@JonRowe JonRowe prevent warnings caused by ambiguous arguments 2dac37d
@JonRowe JonRowe prevent warnings by shadowing var names 56d70c5
@myronmarston myronmarston Merge pull request #898 from JonRowe/cleanup
Cleanup warnings
@mcandre mcandre improved Windows detection ef98a82
Commits on May 08, 2013
@JonRowe JonRowe use abort instead of raise, kills rake but doesnt print rake stack trace 194a525
Commits on May 10, 2013
@mcandre mcandre updated changelog for #901 f3a01b9
Commits on May 11, 2013
@JonRowe JonRowe Merge pull request #901 from mcandre/master
Improved Windows detection
@soulcutter soulcutter Merge pull request #895 from JonRowe/fix_time_now_on_187_old_patch_le…

Bind to original method
@JonRowe JonRowe Merge pull request #902 from JonRowe/abort_instead_of_raise_rake_task
Abort instead of raise on Rake task failure
Commits on May 12, 2013
@JonRowe JonRowe Merge pull request #879 from JonRowe/remove_string_eval
Removing string evals
Commits on May 13, 2013
@JonRowe JonRowe synatax fixes for 1.8.6 support e17fd35
@JonRowe JonRowe Merge pull request #889 from JonRowe/formatter_spec_valid_xml
Tweak formatter test html to pass `xmllint`
@JonRowe JonRowe escape path as regexp f8ea20f
@dchelimsky dchelimsky ruby-prof 0.13 (in Gemfile-custom.sample) 37d9a7a
Commits on May 14, 2013
@JonRowe JonRowe Merge pull request #905 from JonRowe/186_support
1.8.6 Support
Commits on May 15, 2013
@phiggins phiggins Silence warnings in MemoizedHelpers. 1e1a8c2
@phiggins phiggins Silence warning in RSpecHelpers. c9995f1
@phiggins phiggins Silence warning in example group spec. 06fe03b
@phiggins phiggins Remove code raising warning with raise_error. bbd40d8
@phiggins phiggins Silence warnings from pretty printing example with hacks. 9ac8222
@JonRowe JonRowe describe behaviour of how shared examples behave in contexts 9ea5205
@JonRowe JonRowe remove shared examples from world 0d7d1c3
@JonRowe JonRowe move to talking to shared examples directly rather than on world 495a888
@JonRowe JonRowe shared examples should be declared on the group they're used on, as t…
…hey are now context specific
@JonRowe JonRowe refactor specs so that shared_examples are declared in context 23336ef
@JonRowe JonRowe use correct spacing f34ca7e
@JonRowe JonRowe rewrite feature a24ed4b
@JonRowe JonRowe refactor to use a register (phase 1) bd3c77b
@JonRowe JonRowe segregate main from example groups e6ccdc1
@JonRowe JonRowe collection of shared examples 871fe2b
@JonRowe JonRowe describe deprecation behaviour for shared examples d3afd07
@JonRowe JonRowe refactor 25f3372
@JonRowe JonRowe parenthesis and spacing 1c9cfc1
@JonRowe JonRowe explain behaviour of parent contexts with new behaviour 29fa4a4
@JonRowe JonRowe restore clearing shared examples on reset b29d072
@JonRowe JonRowe update change log e4b6e7d
@JonRowe JonRowe correct line output in warning 36b627a
@JonRowe JonRowe refactor warning supression of ruby library code 0c09b9d
@JonRowe JonRowe changelog entry 1f8139f
@JonRowe JonRowe Merge pull request #818 from JonRowe/context_aware_shared_examples
Allow shared_examples to be defined per ExampleGroup.
Commits on May 16, 2013
@JonRowe JonRowe Merge pull request #909 from JonRowe/silence_warnings
Get rid of warnings from rspec-core's library and spec code.
@dchelimsky dchelimsky tighten up the deprecation warning 312d96f
Commits on May 18, 2013
@JonRowe JonRowe Change `warn_deprecation` to use configurable `deprecation_io` c97f7c1
@JonRowe JonRowe update changelog c9692f6
@JonRowe JonRowe remove internal override of warn 6b00b95
@JonRowe JonRowe deprecation io ba70dbe
@JonRowe JonRowe configurable io object 31ed14c
@JonRowe JonRowe integrate new deprecation io object with config cda1297
@JonRowe JonRowe prevent file escape 264e113
@JonRowe JonRowe rename message to summary 1f87ccd
@JonRowe JonRowe remove stubbing in tests as per @myronmarston's suggestions 6b49799
@JonRowe JonRowe change filename to description 6e05d1b
@JonRowe JonRowe fix problem with specs 403a7a1
@JonRowe JonRowe refactor to use a pure io stream 9e524fb
@JonRowe JonRowe use string io rather than a tmpfile as per @myronmarston's suggestion 86feff2
@JonRowe JonRowe shortcut to setting a deprecation filename 00114b9
@JonRowe JonRowe properly stub deprecation warnings d98d010
@JonRowe JonRowe uncessary line removal 5c1e67a
@JonRowe JonRowe remove errant text c2a719f
@JonRowe JonRowe Accidentally used new hash syntax... this is why I :heart: travis... 4160e7a
@JonRowe JonRowe another ruby 187 fix, this time for specs and File.path f6a9eb3
@JonRowe JonRowe update spec to match changes in master 131093e
@JonRowe JonRowe Merge pull request #856 from JonRowe/deprecation_io_mk2
Log, count and warn deprecations via configurable io stream
@JonRowe JonRowe cleanup a stray line reported by @phiggins 4d07470
@JonRowe JonRowe Merge pull request #910 from JonRowe/cleanup_spec
Cleanup a stray line reported by @phiggins
Commits on May 20, 2013
@JonRowe JonRowe pretty up message 1cd2ed4
@JonRowe JonRowe document deprecation_io 666ab24
@JonRowe JonRowe fix typo 90f06cd
@JonRowe JonRowe Merge pull request #913 from JonRowe/deprecation_io_docs
Document deprection_io with a feature
@dchelimsky dchelimsky add a new DeprecationFormatter to print deprecations (and summary) 878755d
@dchelimsky dchelimsky warn_deprecation supports arbitrary custom messages again 6377bb3
@dchelimsky dchelimsky internal: update add_formatter to support multiple streams
Supports treating the DeprecationFormatter like the others.
@dchelimsky dchelimsky fix example failing in Ruby 1.8 9c6df85
@dchelimsky dchelimsky fix false positive from previous commit 0b73f35
Commits on May 21, 2013
@dchelimsky dchelimsky update deprecation stream cuke to match new API 5254844
@dchelimsky dchelimsky no need to create a file in the formatter - happens already in config…
@dchelimsky dchelimsky remove unused method af92373
@dchelimsky dchelimsky change doc references to STDOUT to $stdout
[ci skip]
@dchelimsky dchelimsky clean up the description in a cuke [ci skip] f13dd18
@dchelimsky dchelimsky RSpec.deprecate accepts a hash
It also continues to support separate args for now. That can be
removed after the other rspec gems have been updated.
@dchelimsky dchelimsky rename alternate_method to replacement 6ec7c6a
@dchelimsky dchelimsky push warn_deprecation through deprecate ace7f80
@dchelimsky dchelimsky rename :method key to :deprecated
Constants and usage can also be deprecated.
Commits on May 22, 2013
@dchelimsky dchelimsky RSpec.deprecate(deprecated, options_hash) f861c55
@dchelimsky dchelimsky whitespace 047368a
@dchelimsky dchelimsky change :called_from to :call_site 65dada7
@dchelimsky dchelimsky uncomment commented code 9f1db06
Commits on May 23, 2013
@dchelimsky dchelimsky it's me 3979f1f
@dchelimsky dchelimsky more readable e8c1c59
@dchelimsky dchelimsky remove obsolete conditional 04a69f6
@dchelimsky dchelimsky Merge pull request #915 from rspec/deprecation-formatter
Deprecation formatter
Commits on May 27, 2013
@myronmarston myronmarston Prep changelog for 2.14.0.rc1 release. [ci skip] d7c31f7
@myronmarston myronmarston Release 2.14.0.rc1 28eeb9f