Demonstration of why RSpec does not exit with a status of 0 when all specs pass. (For rspec/rspec-core#1918)
Normally, we get a non-zero exit status from SimpleCov due to our min coverage being too low:
➜ bundle exec ruby use_rspec_and_simplecov.rb; echo $?
Coverage report generated for RSpec to /Users/myron/code/rspec-scratch/rspec-exit-0-behavior/coverage. 2 / 3 LOC (66.67%) covered.
Coverage (66.67%) is below the expected minimum coverage (100.00%).
.
Finished in 0.00046 seconds (files took 0.1162 seconds to load)
1 example, 0 failures
2
However, if we activate our monkey patch that forces RSpec to always exit, we get an exit code of 0.
➜ MAKE_RSPEC_ALWAYS_EXIT=1 bundle exec ruby use_rspec_and_simplecov.rb; echo $?
Coverage report generated for RSpec to /Users/myron/code/rspec-scratch/rspec-exit-0-behavior/coverage. 2 / 3 LOC (66.67%) covered.
Coverage (66.67%) is below the expected minimum coverage (100.00%).
.
Finished in 0.00043 seconds (files took 0.10172 seconds to load)
1 example, 0 failures
0