-
Notifications
You must be signed in to change notification settings - Fork 551
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Makes SimpleCov resilient to inclusion of mathn library. (Re: #140) #175
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…n't return Rationals even when 'mathn' has been included.
colszowka
added a commit
that referenced
this pull request
Nov 7, 2012
Makes SimpleCov resilient to inclusion of mathn library. (Re: #140)
Cool, thanks :) |
bf4
added a commit
to bf4/simplecov
that referenced
this pull request
Sep 19, 2013
… Fixnum or Rational; fixes segfaults with mathn
bf4
added a commit
to bf4/simplecov
that referenced
this pull request
Dec 4, 2013
… Fixnum or Rational; fixes segfaults with mathn
bf4
added a commit
to bf4/simplecov
that referenced
this pull request
Dec 4, 2013
… Fixnum or Rational; fixes segfaults with mathn
jsonn
pushed a commit
to jsonn/pkgsrc
that referenced
this pull request
Mar 15, 2014
v0.8.2, 2013-11-20 ([changes](simplecov-ruby/simplecov@v0.8.1...v0.8.2)) ===================== ## Bugfixes * Replaced the locking behaviour [via lockfile gem](simplecov-ruby/simplecov#185) with plain Ruby explicit file locking when merging results. This should make simplecov merging to behave well on Windows again. See [#258](simplecov-ruby/simplecov#258) and [#223](simplecov-ruby/simplecov#223) (thanks to @tomykaira) v0.8.1, 2013-11-10 ([changes](simplecov-ruby/simplecov@v0.8.0...v0.8.1)) ===================== ## Bugfixes * Fixed a regression introduced in 0.8.0 - the Forwardable STDLIB module is now required explicitly. See [#256](simplecov-ruby/simplecov#256) (thanks to @kylev) v0.8.0, 2013-11-10 ([changes](simplecov-ruby/simplecov@v0.7.1...v0.8.0)) ===================== **Note: Yanked the same day because of the regression that 0.8.1 fixes, see above** ## TL;DR It's been way too long since the last official release 0.7.1, but this was partly due to it proving itself quite stable in most circumstances. This release brings various further stability improvements to result set merging (especially when working with parallel_tests), the configuration, source file encodings, and command name guessing. The 0.8 line is the last one to cooperate with Ruby < 1.9. Starting with 0.9, SimpleCov will assume to be running in Ruby 1.9+, and will not try to detect or bail silently on older Ruby versions. An appropriate deprecation warning has been added. ## Features * Configuration blocks now have access to variables and methods outside of the block's scope. See [#238](simplecov-ruby/simplecov#238) (thanks to @ms-tg) * You can now have a global `~/.simplecov` configuration file. See [#195](simplecov-ruby/simplecov#195) (thanks to @spagalloco) * simplecov-html now uses the MIT-licensed colorbox plugin. Some adjustments when viewing source files, including retaining the currently open file on refresh have been added. See [simplecov-html #15](simplecov-ruby/simplecov-html#15) (thanks to @chetan) * Adds support for Rails 4 command guessing, removes default group `vendor/plugins`. See [#181](simplecov-ruby/simplecov#181) and [#203](simplecov-ruby/simplecov#203) (thanks to @semanticart and @phallstrom) * You can now load simplecov without the default settings by doing `require 'simplecov/no_defaults'` or setting `ENV['SIMPLECOV_NO_DEFAULTS']`. Check `simplecov/defaults` to see what preconfigurations are getting dropped by using this. See [#209](simplecov-ruby/simplecov#209) (thanks to @ileitch) * The result set merging now uses the `lockfile` gem to avoid race conditions. See [#185](simplecov-ruby/simplecov#185) (thanks to @jshraibman-mdsol). * Automatically detect the usage of parallel_tests and adjust the command name with the test env number accordingly, See [#64](simplecov-ruby/simplecov#64) and [#185](simplecov-ruby/simplecov#185) (thanks to @jshraibman-mdsol). ## Enhancements * Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are deprecated, but remain available for now. See [#207](simplecov-ruby/simplecov#207) (thanks to @mikerobe) * Tweaks to the automatic test suite naming. In particular, `rspec/features` should now be correctly attributed to RSpec, not Cucumber. See [#212](simplecov-ruby/simplecov#212) (thanks to @ersatzryan and @betelgeuse) * MiniTest should now be identified correctly by the command name guesser. See [#244](simplecov-ruby/simplecov#244) (thanks to @envygeeks) * Makes SimpleCov resilient to inclusion of mathn library. See [#175](simplecov-ruby/simplecov#175) and [#140](simplecov-ruby/simplecov#140) (thanks to @scotje) * Allow coverage_dir to be an absolute path. * See [#190](simplecov-ruby/simplecov#190) (thanks to @jshraibman-mdsol) * The internal cucumber test suite now uses Capybara 2. See [#206](simplecov-ruby/simplecov#206) (thanks to @infertux) * Work-arounds for the Coverage library shipped in JRuby 1.6 to behave in line with MRI. See [#174](simplecov-ruby/simplecov#174) (thanks to @grddev) * Fix warning: instance variable @exit_status not initialized. See [#242](simplecov-ruby/simplecov#242) and [#213](simplecov-ruby/simplecov#213) (thanks to @sferik and @infertux) ## Bugfixes * Correct result calculations for people using :nocov: tags. See [#215](simplecov-ruby/simplecov#215) (thanks to @aokolish) * Average hits per line for groups of files is now computed correctly. See [#192](http://github.com/colszowka/simplecov/pull/192) and [#179](http://github.com/colszowka/simplecov/issues/179) (thanks to @Graysonwright) * Compatability with BINARY internal encoding. See [#194](simplecov-ruby/simplecov#194) and [#127](simplecov-ruby/simplecov#127) (thanks to @justfalter) * Special characters in `SimpleCov.root` are now correctly escaped before being used as a RegExp. See [#204](simplecov-ruby/simplecov#204) and [#237](simplecov-ruby/simplecov#237) (thanks to @rli9)
jsonn
pushed a commit
to jsonn/pkgsrc
that referenced
this pull request
Mar 17, 2014
v0.8.2, 2013-11-20 ([changes](simplecov-ruby/simplecov@v0.8.1...v0.8.2)) ===================== ## Bugfixes * Replaced the locking behaviour [via lockfile gem](simplecov-ruby/simplecov#185) with plain Ruby explicit file locking when merging results. This should make simplecov merging to behave well on Windows again. See [#258](simplecov-ruby/simplecov#258) and [#223](simplecov-ruby/simplecov#223) (thanks to @tomykaira) v0.8.1, 2013-11-10 ([changes](simplecov-ruby/simplecov@v0.8.0...v0.8.1)) ===================== ## Bugfixes * Fixed a regression introduced in 0.8.0 - the Forwardable STDLIB module is now required explicitly. See [#256](simplecov-ruby/simplecov#256) (thanks to @kylev) v0.8.0, 2013-11-10 ([changes](simplecov-ruby/simplecov@v0.7.1...v0.8.0)) ===================== **Note: Yanked the same day because of the regression that 0.8.1 fixes, see above** ## TL;DR It's been way too long since the last official release 0.7.1, but this was partly due to it proving itself quite stable in most circumstances. This release brings various further stability improvements to result set merging (especially when working with parallel_tests), the configuration, source file encodings, and command name guessing. The 0.8 line is the last one to cooperate with Ruby < 1.9. Starting with 0.9, SimpleCov will assume to be running in Ruby 1.9+, and will not try to detect or bail silently on older Ruby versions. An appropriate deprecation warning has been added. ## Features * Configuration blocks now have access to variables and methods outside of the block's scope. See [#238](simplecov-ruby/simplecov#238) (thanks to @ms-tg) * You can now have a global `~/.simplecov` configuration file. See [#195](simplecov-ruby/simplecov#195) (thanks to @spagalloco) * simplecov-html now uses the MIT-licensed colorbox plugin. Some adjustments when viewing source files, including retaining the currently open file on refresh have been added. See [simplecov-html #15](simplecov-ruby/simplecov-html#15) (thanks to @chetan) * Adds support for Rails 4 command guessing, removes default group `vendor/plugins`. See [#181](simplecov-ruby/simplecov#181) and [#203](simplecov-ruby/simplecov#203) (thanks to @semanticart and @phallstrom) * You can now load simplecov without the default settings by doing `require 'simplecov/no_defaults'` or setting `ENV['SIMPLECOV_NO_DEFAULTS']`. Check `simplecov/defaults` to see what preconfigurations are getting dropped by using this. See [#209](simplecov-ruby/simplecov#209) (thanks to @ileitch) * The result set merging now uses the `lockfile` gem to avoid race conditions. See [#185](simplecov-ruby/simplecov#185) (thanks to @jshraibman-mdsol). * Automatically detect the usage of parallel_tests and adjust the command name with the test env number accordingly, See [#64](simplecov-ruby/simplecov#64) and [#185](simplecov-ruby/simplecov#185) (thanks to @jshraibman-mdsol). ## Enhancements * Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are deprecated, but remain available for now. See [#207](simplecov-ruby/simplecov#207) (thanks to @mikerobe) * Tweaks to the automatic test suite naming. In particular, `rspec/features` should now be correctly attributed to RSpec, not Cucumber. See [#212](simplecov-ruby/simplecov#212) (thanks to @ersatzryan and @betelgeuse) * MiniTest should now be identified correctly by the command name guesser. See [#244](simplecov-ruby/simplecov#244) (thanks to @envygeeks) * Makes SimpleCov resilient to inclusion of mathn library. See [#175](simplecov-ruby/simplecov#175) and [#140](simplecov-ruby/simplecov#140) (thanks to @scotje) * Allow coverage_dir to be an absolute path. * See [#190](simplecov-ruby/simplecov#190) (thanks to @jshraibman-mdsol) * The internal cucumber test suite now uses Capybara 2. See [#206](simplecov-ruby/simplecov#206) (thanks to @infertux) * Work-arounds for the Coverage library shipped in JRuby 1.6 to behave in line with MRI. See [#174](simplecov-ruby/simplecov#174) (thanks to @grddev) * Fix warning: instance variable @exit_status not initialized. See [#242](simplecov-ruby/simplecov#242) and [#213](simplecov-ruby/simplecov#213) (thanks to @sferik and @infertux) ## Bugfixes * Correct result calculations for people using :nocov: tags. See [#215](simplecov-ruby/simplecov#215) (thanks to @aokolish) * Average hits per line for groups of files is now computed correctly. See [#192](http://github.com/colszowka/simplecov/pull/192) and [#179](http://github.com/colszowka/simplecov/issues/179) (thanks to @Graysonwright) * Compatability with BINARY internal encoding. See [#194](simplecov-ruby/simplecov#194) and [#127](simplecov-ruby/simplecov#127) (thanks to @justfalter) * Special characters in `SimpleCov.root` are now correctly escaped before being used as a RegExp. See [#204](simplecov-ruby/simplecov#204) and [#237](simplecov-ruby/simplecov#237) (thanks to @rli9)
bf4
added a commit
to bf4/simplecov
that referenced
this pull request
May 2, 2014
… Fixnum or Rational; fixes segfaults with mathn
bf4
added a commit
to bf4/simplecov
that referenced
this pull request
Jul 7, 2014
… Fixnum or Rational; fixes segfaults with mathn
bf4
added a commit
that referenced
this pull request
Jul 13, 2014
jsonn
pushed a commit
to jsonn/pkgsrc
that referenced
this pull request
Oct 11, 2014
v0.8.2, 2013-11-20 ([changes](simplecov-ruby/simplecov@v0.8.1...v0.8.2)) ===================== ## Bugfixes * Replaced the locking behaviour [via lockfile gem](simplecov-ruby/simplecov#185) with plain Ruby explicit file locking when merging results. This should make simplecov merging to behave well on Windows again. See [#258](simplecov-ruby/simplecov#258) and [#223](simplecov-ruby/simplecov#223) (thanks to @tomykaira) v0.8.1, 2013-11-10 ([changes](simplecov-ruby/simplecov@v0.8.0...v0.8.1)) ===================== ## Bugfixes * Fixed a regression introduced in 0.8.0 - the Forwardable STDLIB module is now required explicitly. See [#256](simplecov-ruby/simplecov#256) (thanks to @kylev) v0.8.0, 2013-11-10 ([changes](simplecov-ruby/simplecov@v0.7.1...v0.8.0)) ===================== **Note: Yanked the same day because of the regression that 0.8.1 fixes, see above** ## TL;DR It's been way too long since the last official release 0.7.1, but this was partly due to it proving itself quite stable in most circumstances. This release brings various further stability improvements to result set merging (especially when working with parallel_tests), the configuration, source file encodings, and command name guessing. The 0.8 line is the last one to cooperate with Ruby < 1.9. Starting with 0.9, SimpleCov will assume to be running in Ruby 1.9+, and will not try to detect or bail silently on older Ruby versions. An appropriate deprecation warning has been added. ## Features * Configuration blocks now have access to variables and methods outside of the block's scope. See [#238](simplecov-ruby/simplecov#238) (thanks to @ms-tg) * You can now have a global `~/.simplecov` configuration file. See [#195](simplecov-ruby/simplecov#195) (thanks to @spagalloco) * simplecov-html now uses the MIT-licensed colorbox plugin. Some adjustments when viewing source files, including retaining the currently open file on refresh have been added. See [simplecov-html #15](simplecov-ruby/simplecov-html#15) (thanks to @chetan) * Adds support for Rails 4 command guessing, removes default group `vendor/plugins`. See [#181](simplecov-ruby/simplecov#181) and [#203](simplecov-ruby/simplecov#203) (thanks to @semanticart and @phallstrom) * You can now load simplecov without the default settings by doing `require 'simplecov/no_defaults'` or setting `ENV['SIMPLECOV_NO_DEFAULTS']`. Check `simplecov/defaults` to see what preconfigurations are getting dropped by using this. See [#209](simplecov-ruby/simplecov#209) (thanks to @ileitch) * The result set merging now uses the `lockfile` gem to avoid race conditions. See [#185](simplecov-ruby/simplecov#185) (thanks to @jshraibman-mdsol). * Automatically detect the usage of parallel_tests and adjust the command name with the test env number accordingly, See [#64](simplecov-ruby/simplecov#64) and [#185](simplecov-ruby/simplecov#185) (thanks to @jshraibman-mdsol). ## Enhancements * Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are deprecated, but remain available for now. See [#207](simplecov-ruby/simplecov#207) (thanks to @mikerobe) * Tweaks to the automatic test suite naming. In particular, `rspec/features` should now be correctly attributed to RSpec, not Cucumber. See [#212](simplecov-ruby/simplecov#212) (thanks to @ersatzryan and @betelgeuse) * MiniTest should now be identified correctly by the command name guesser. See [#244](simplecov-ruby/simplecov#244) (thanks to @envygeeks) * Makes SimpleCov resilient to inclusion of mathn library. See [#175](simplecov-ruby/simplecov#175) and [#140](simplecov-ruby/simplecov#140) (thanks to @scotje) * Allow coverage_dir to be an absolute path. * See [#190](simplecov-ruby/simplecov#190) (thanks to @jshraibman-mdsol) * The internal cucumber test suite now uses Capybara 2. See [#206](simplecov-ruby/simplecov#206) (thanks to @infertux) * Work-arounds for the Coverage library shipped in JRuby 1.6 to behave in line with MRI. See [#174](simplecov-ruby/simplecov#174) (thanks to @grddev) * Fix warning: instance variable @exit_status not initialized. See [#242](simplecov-ruby/simplecov#242) and [#213](simplecov-ruby/simplecov#213) (thanks to @sferik and @infertux) ## Bugfixes * Correct result calculations for people using :nocov: tags. See [#215](simplecov-ruby/simplecov#215) (thanks to @aokolish) * Average hits per line for groups of files is now computed correctly. See [#192](http://github.com/colszowka/simplecov/pull/192) and [#179](http://github.com/colszowka/simplecov/issues/179) (thanks to @Graysonwright) * Compatability with BINARY internal encoding. See [#194](simplecov-ruby/simplecov#194) and [#127](simplecov-ruby/simplecov#127) (thanks to @justfalter) * Special characters in `SimpleCov.root` are now correctly escaped before being used as a RegExp. See [#204](simplecov-ruby/simplecov#204) and [#237](simplecov-ruby/simplecov#237) (thanks to @rli9)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Made sure SourceFile.covered_percent and FileList.covered_strength won't return Rationals even when 'mathn' has been included.
With the latest builds of MRI 1.9.3, it seems that dividing an Integer by a Float will return a Rational when 'mathn' is included, and calling .round() on a Rational currently causes a segfault.
Even though Rational.round shouldn't be segfaulting, it seems worthwhile to ensure that Simplecov returns a float for these methods with or without 'mathn' being present.
I understand if you would rather just wait for the core team to fix Rational.round, but this seemed like a simple enough fix to merit consideration.