simplecov 0.6.4 → 0.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +378 -12
  3. data/CONTRIBUTING.md +51 -0
  4. data/ISSUE_TEMPLATE.md +23 -0
  5. data/LICENSE +1 -1
  6. data/README.md +456 -252
  7. data/doc/alternate-formatters.md +56 -0
  8. data/doc/commercial-services.md +20 -0
  9. data/doc/editor-integration.md +18 -0
  10. data/lib/simplecov.rb +223 -44
  11. data/lib/simplecov/command_guesser.rb +47 -35
  12. data/lib/simplecov/configuration.rb +281 -191
  13. data/lib/simplecov/defaults.rb +38 -43
  14. data/lib/simplecov/exit_codes.rb +10 -0
  15. data/lib/simplecov/file_list.rb +51 -34
  16. data/lib/simplecov/filter.rb +50 -3
  17. data/lib/simplecov/formatter.rb +4 -1
  18. data/lib/simplecov/formatter/multi_formatter.rb +34 -0
  19. data/lib/simplecov/formatter/simple_formatter.rb +18 -12
  20. data/lib/simplecov/jruby_fix.rb +44 -0
  21. data/lib/simplecov/last_run.rb +26 -0
  22. data/lib/simplecov/lines_classifier.rb +48 -0
  23. data/lib/simplecov/load_global_config.rb +8 -0
  24. data/lib/simplecov/no_defaults.rb +4 -0
  25. data/lib/simplecov/profiles.rb +33 -0
  26. data/lib/simplecov/profiles/bundler_filter.rb +5 -0
  27. data/lib/simplecov/profiles/hidden_filter.rb +5 -0
  28. data/lib/simplecov/profiles/rails.rb +18 -0
  29. data/lib/simplecov/profiles/root_filter.rb +10 -0
  30. data/lib/simplecov/profiles/test_frameworks.rb +8 -0
  31. data/lib/simplecov/railtie.rb +3 -1
  32. data/lib/simplecov/railties/tasks.rake +9 -7
  33. data/lib/simplecov/raw_coverage.rb +41 -0
  34. data/lib/simplecov/result.rb +17 -55
  35. data/lib/simplecov/result_merger.rb +100 -67
  36. data/lib/simplecov/source_file.rb +82 -67
  37. data/lib/simplecov/version.rb +4 -2
  38. metadata +153 -222
  39. data/.gitignore +0 -31
  40. data/.travis.yml +0 -15
  41. data/Appraisals +0 -8
  42. data/Gemfile +0 -5
  43. data/Rakefile +0 -19
  44. data/cucumber.yml +0 -13
  45. data/features/config_adapters.feature +0 -44
  46. data/features/config_autoload.feature +0 -46
  47. data/features/config_command_name.feature +0 -33
  48. data/features/config_coverage_dir.feature +0 -20
  49. data/features/config_deactivate_merging.feature +0 -42
  50. data/features/config_merge_timeout.feature +0 -39
  51. data/features/config_nocov_token.feature +0 -79
  52. data/features/config_project_name.feature +0 -27
  53. data/features/config_styles.feature +0 -93
  54. data/features/cucumber_basic.feature +0 -29
  55. data/features/merging_test_unit_and_rspec.feature +0 -44
  56. data/features/rspec_basic.feature +0 -31
  57. data/features/rspec_fails_on_initialization.feature +0 -14
  58. data/features/rspec_groups_and_filters_basic.feature +0 -29
  59. data/features/rspec_groups_and_filters_complex.feature +0 -35
  60. data/features/rspec_groups_using_filter_class.feature +0 -40
  61. data/features/rspec_without_simplecov.feature +0 -20
  62. data/features/skipping_code_blocks_manually.feature +0 -70
  63. data/features/step_definitions/html_steps.rb +0 -45
  64. data/features/step_definitions/simplecov_steps.rb +0 -66
  65. data/features/step_definitions/transformers.rb +0 -13
  66. data/features/step_definitions/web_steps.rb +0 -64
  67. data/features/support/env.rb +0 -26
  68. data/features/test_unit_basic.feature +0 -34
  69. data/features/test_unit_groups_and_filters_basic.feature +0 -29
  70. data/features/test_unit_groups_and_filters_complex.feature +0 -35
  71. data/features/test_unit_groups_using_filter_class.feature +0 -40
  72. data/features/test_unit_without_simplecov.feature +0 -20
  73. data/features/unicode_compatiblity.feature +0 -67
  74. data/gemfiles/multi_json-legacy.gemfile +0 -7
  75. data/gemfiles/multi_json-legacy.gemfile.lock +0 -85
  76. data/gemfiles/multi_json-new.gemfile +0 -7
  77. data/gemfiles/multi_json-new.gemfile.lock +0 -85
  78. data/lib/simplecov/adapters.rb +0 -29
  79. data/lib/simplecov/merge_helpers.rb +0 -39
  80. data/simplecov.gemspec +0 -29
  81. data/test/faked_project/Gemfile +0 -6
  82. data/test/faked_project/Rakefile +0 -8
  83. data/test/faked_project/cucumber.yml +0 -13
  84. data/test/faked_project/features/step_definitions/my_steps.rb +0 -23
  85. data/test/faked_project/features/support/env.rb +0 -12
  86. data/test/faked_project/features/test_stuff.feature +0 -6
  87. data/test/faked_project/lib/faked_project.rb +0 -11
  88. data/test/faked_project/lib/faked_project/framework_specific.rb +0 -18
  89. data/test/faked_project/lib/faked_project/meta_magic.rb +0 -24
  90. data/test/faked_project/lib/faked_project/some_class.rb +0 -29
  91. data/test/faked_project/spec/faked_spec.rb +0 -11
  92. data/test/faked_project/spec/meta_magic_spec.rb +0 -10
  93. data/test/faked_project/spec/some_class_spec.rb +0 -10
  94. data/test/faked_project/spec/spec_helper.rb +0 -15
  95. data/test/faked_project/test/faked_test.rb +0 -11
  96. data/test/faked_project/test/meta_magic_test.rb +0 -13
  97. data/test/faked_project/test/some_class_test.rb +0 -15
  98. data/test/faked_project/test/test_helper.rb +0 -16
  99. data/test/fixtures/app/controllers/sample_controller.rb +0 -10
  100. data/test/fixtures/app/models/user.rb +0 -10
  101. data/test/fixtures/deleted_source_sample.rb +0 -15
  102. data/test/fixtures/frameworks/rspec_bad.rb +0 -9
  103. data/test/fixtures/frameworks/rspec_good.rb +0 -9
  104. data/test/fixtures/frameworks/testunit_bad.rb +0 -9
  105. data/test/fixtures/frameworks/testunit_good.rb +0 -9
  106. data/test/fixtures/iso-8859.rb +0 -3
  107. data/test/fixtures/resultset1.rb +0 -4
  108. data/test/fixtures/resultset2.rb +0 -5
  109. data/test/fixtures/sample.rb +0 -16
  110. data/test/fixtures/utf-8.rb +0 -3
  111. data/test/helper.rb +0 -35
  112. data/test/shoulda_macros.rb +0 -29
  113. data/test/test_1_8_fallbacks.rb +0 -33
  114. data/test/test_command_guesser.rb +0 -21
  115. data/test/test_deleted_source.rb +0 -16
  116. data/test/test_file_list.rb +0 -24
  117. data/test/test_filters.rb +0 -80
  118. data/test/test_merge_helpers.rb +0 -107
  119. data/test/test_result.rb +0 -147
  120. data/test/test_return_codes.rb +0 -39
  121. data/test/test_source_file.rb +0 -95
  122. data/test/test_source_file_line.rb +0 -110
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6f3e7730302a3a31266a22a830aa6a098e17cc4042f664e4f9a079eef408897f
4
+ data.tar.gz: 423ed5a50493415c4c8bb17ff9c82ffd84e75dc98fc14cc0b4e82f17491d483e
5
+ SHA512:
6
+ metadata.gz: 5b46e9d714b0a675de3b2e42284069942479af4fb0df627b3806fb48e8d373ea7f555fc8cf482682e15e8a6e335ea82358e4b4db28b1257183ae22d018c17f21
7
+ data.tar.gz: 82eedda10bb5786656190ec0ca7dd1a3e18c38f6526db25f90c9b614849e05a14b85a34257343c5f48f62cffc7ddbdb74505b896a7c72236992aadd83c945a24
data/CHANGELOG.md CHANGED
@@ -1,5 +1,371 @@
1
+ 0.17.1 (2019-09-16)
2
+ ===================
3
+
4
+ Bugfix release for problems with ParallelTests.
5
+
6
+ ## Bugfixes
7
+
8
+ * Avoid hanging with parallel_tests. See [#746](https://github.com/colszowka/simplecov/pull/746) (thanks [@annaswims](https://github.com/annaswims))
9
+
10
+ 0.17.0 (2019-07-02)
11
+ ===================
12
+
13
+ Maintenance release with nice convenience features and important bugfixes.
14
+ Notably this **will be the last release to support ruby versions that have reached their end of life**. Moving forward official CRuby support will be 2.4+ and JRuby support will be 9.1+. Older versions might still work but no guarantees.
15
+
16
+ ## Enhancements
17
+
18
+ * Per default filter hidden files and folders. See [#721](https://github.com/colszowka/simplecov/pull/721) (thanks [Renuo AG](https://www.renuo.ch))
19
+ * Print the exit status explicitly when it's not a successful build so it's easier figure out SimpleCov failed the build in the output. See [#688](https://github.com/colszowka/simplecov/pull/688) (thanks [@daemonsy](https://github.com/daemonsy))
20
+
21
+ ## Bugfixes
22
+
23
+ * Avoid a premature failure exit code when setting `minimum_coverage` in combination with using [parallel_tests](https://github.com/grosser/parallel_tests). See [#706](https://github.com/colszowka/simplecov/pull/706) (thanks [@f1sherman](https://github.com/f1sherman))
24
+ * Project roots with special characters no longer cause crashes. See [#717](https://github.com/colszowka/simplecov/pull/717) (thanks [@deivid-rodriguez](https://github.com/deivid-rodriguez))
25
+ * Avoid continously overriding test results with manual `ResultMergere.store_results` usage. See [#674](https://github.com/colszowka/simplecov/pull/674) (thanks [@tomeon](https://github.com/tomeon))
26
+
27
+ 0.16.1 (2018-03-16)
28
+ ===================
29
+
30
+ ## Bugfixes
31
+
32
+ * Include the LICENSE in the distributed gem again (accidentally removed in 0.16.0). (thanks @tas50)
33
+
34
+ 0.16.0 (2018-03-15)
35
+ ===================
36
+
37
+ ## Enhancements
38
+
39
+ * Relax version constraint on `docile`, per SemVer
40
+ * exception that occurred on exit is available as `exit_exception`! See [#639](https://github.com/colszowka/simplecov/pull/639) (thanks @thomas07vt)
41
+ * Performance: processing results now runs from 2.5x to 3.75x faster. See [#662](https://github.com/colszowka/simplecov/pull/662) (thanks @BMorearty & @eregon)
42
+ * Decrease gem size by only shipping lib and docs
43
+
44
+ ## Bugfixes
45
+
46
+ * (breaking) Stop handling string filters as regular expressions, use the dedicated regex filter if you need that behaviour. See [#616](https://github.com/colszowka/simplecov/pull/616) (thanks @yujinakayama)
47
+ * Avoid overwriting the last coverage results on unsuccessful test runs. See [#625](https://github.com/colszowka/simplecov/pull/625) (thanks @thomas07vt)
48
+ * Don't crash on invalid UTF-8 byte sequences. (thanks @BMorearty)
49
+
50
+ 0.15.1 (2017-09-11) ([changes](https://github.com/colszowka/simplecov/compare/v0.15.0...v0.15.1))
51
+ =======
52
+
53
+ ## Bugfixes
54
+
55
+ * Filter directories outside SimpleCov.root that have it as a prefix. See [#617](https://github.com/colszowka/simplecov/pull/617) (thanks @jenseng)
56
+ * Fix standard rails profile rails filter (didn't work). See [#618](https://github.com/colszowka/simplecov/pull/618) (thanks @jenseng again!)
57
+
58
+ 0.15.0 (2017-08-14) ([changes](https://github.com/colszowka/simplecov/compare/v0.14.1...v0.15.0))
59
+ =======
60
+
61
+ ## Enhancements
62
+
63
+ * Ability to use regex filters for removing files from the output. See [#589](https://github.com/colszowka/simplecov/pull/589) (thanks @jsteel)
64
+
65
+ ## Bugfixes
66
+
67
+ * Fix merging race condition when running tests in parallel and merging them. See [#570](https://github.com/colszowka/simplecov/pull/570) (thanks @jenseng)
68
+ * Fix relevant lines for unloaded files - comments, skipped code etc. are correctly classified as irrelevant. See [#605](https://github.com/colszowka/simplecov/pull/605) (thanks @odlp)
69
+ * Allow using simplecov with frozen-string-literals enabled. See [#590](https://github.com/colszowka/simplecov/pull/590) (thanks @pat)
70
+ * Make sure Array Filter can use all other filter types. See [#589](https://github.com/colszowka/simplecov/pull/589) (thanks @jsteel)
71
+ * Make sure file names use `Simplecov.root` as base avoiding using full absolute project paths. See [#589](https://github.com/colszowka/simplecov/pull/589) (thanks @jsteel)
72
+
73
+ 0.14.1 2017-03-18 ([changes](https://github.com/colszowka/simplecov/compare/v0.14.0...v0.14.1))
74
+ ========
75
+
76
+ ## Bugfixes
77
+
78
+ * Files that were skipped as a whole/had no relevant coverage could lead to Float errors. See [#564](https://github.com/colszowka/simplecov/pull/564) (thanks to @stevehanson for the report in [#563](https://github.com/colszowka/simplecov/issues/563))
79
+
80
+ 0.14.0 2017-03-15 ([changes](https://github.com/colszowka/simplecov/compare/v0.13.0...v0.14.0))
81
+ ==========
82
+
83
+ ## Enhancements
84
+
85
+ * Officially support JRuby 9.1+ going forward (should also work with previous releases). See [#547](https://github.com/colszowka/simplecov/pull/547) (ping @PragTob when encountering issues)
86
+ * Add Channel group to Rails profile, when `ActionCable` is loaded. See [#492](https://github.com/colszowka/simplecov/pull/492) (thanks @BenMorganIO)
87
+ * Stop `extend`ing instances of `Array` and `Hash` during merging results avoiding problems frozen results while manually merging results. See [#558](https://github.com/colszowka/simplecov/pull/558) (thanks @aroben)
88
+
89
+ ## Bugfixes
90
+
91
+ * Fix parallel_tests when a thread ends up running no tests. See [#533](https://github.com/colszowka/simplecov/pull/533) (thanks @cshaffer)
92
+ * Skip the `:nocov:` comments along with the code that they skip. See [#551](https://github.com/colszowka/simplecov/pull/551) (thanks @ebiven)
93
+ * Fix crash when Home environment variable is unset. See [#482](https://github.com/colszowka/simplecov/pull/482) (thanks @waldyr)
94
+ * Make track_files work again when explicitly setting it to nil. See [#463](https://github.com/colszowka/simplecov/pull/463) (thanks @craiglittle)
95
+ * Do not overwrite .last_run.json file when refuse_coverage_drop option is enabled and the coverage has dropped (lead to you being able to just rerun tests and everything was _fine_). See [#553](https://github.com/colszowka/simplecov/pull/553) (thanks @Miloshes)
96
+
97
+ 0.13.0 2017-01-25 ([changes](https://github.com/colszowka/simplecov/compare/v0.12.0...v0.13.0))
98
+ ==========
99
+
100
+ ## Enhancements
101
+
102
+ * Faster run times when a very large number of files is loaded into SimpleCov. See [#520](https://github.com/colszowka/simplecov/pull/520) (thanks @alyssais)
103
+ * Only read in source code files that are actually used (faster when files are ignored etc.). See [#540](https://github.com/colszowka/simplecov/pull/540) (thanks @yui-knk)
104
+
105
+ ## Bugfixes
106
+
107
+ * Fix merging of resultsets if a file is missing on one side. See [#513](https://github.com/colszowka/simplecov/pull/513) (thanks @hanazuki)
108
+ * Fix Ruby 2.4 deprecation warnings by using Integer instead of Fixnum. See [#523](https://github.com/colszowka/simplecov/pull/523) (thanks @nobu)
109
+ * Force Ruby 2 to json 2. See [dc7417d50](https://github.com/colszowka/simplecov/commit/dc7417d5049b1809cea214314c15dd93a5dd964f) (thanks @amatsuda)
110
+ * Various other gem dependency fixes for different gems on different ruby versions. (thanks @amatsuda)
111
+
112
+ 0.12.0 2016-07-02 ([changes](https://github.com/colszowka/simplecov/compare/v0.11.2...v0.12.0))
113
+ =================
114
+
115
+ ## Enhancements
116
+
117
+ * Add support for JSON versions 2.x
118
+
119
+ ## Bugfixes
120
+
121
+ * Fix coverage rate of the parallel_tests. See [#441](https://github.com/colszowka/simplecov/pull/441) (thanks @sinsoku)
122
+ * Fix a regression on old rubies that failed to work with the recently introduced frozen VERSION string. See [#461](https://github.com/colszowka/simplecov/pull/461) (thanks @leafle)
123
+
124
+ 0.11.2 2016-02-03 ([changes](https://github.com/colszowka/simplecov/compare/v0.11.1...v0.11.2))
125
+ =================
126
+
127
+ ## Enhancements
128
+
129
+ * Do not globally pollute Array and Hash with `merge_resultset` utility methods. See [#449](https://github.com/colszowka/simplecov/pull/449) (thanks @amatsuda)
130
+ * Do not `mkdir_p` the `coverage_path` on every access of the method (See [#453](https://github.com/colszowka/simplecov/pull/453) (thanks @paddor)
131
+ * Fixes a Ruby warning related to the `track_files` configuration. See [#447](https://github.com/colszowka/simplecov/pull/447) (thanks @craiglittle)
132
+ * Add a group for background jobs to default Rails profile. See [#442](https://github.com/colszowka/simplecov/pull/442) (thanks @stve)
133
+
134
+ ## Bugfixes
135
+
136
+ * Fix root_filter evaluates SimpleCov.root before initialization. See [#437](https://github.com/colszowka/simplecov/pull/437) (thanks @tmtm)
137
+
138
+ 0.11.1 2015-12-01 ([changes](https://github.com/colszowka/simplecov/compare/v0.11.0...v0.11.1))
139
+ =================
140
+
141
+ ## Enhancements
142
+
143
+ ## Bugfixes
144
+
145
+ * Fixed regression in `MultiFormatter.[]` with multiple arguments. See [#431](https://github.com/colszowka/simplecov/pull/431) (thanks @dillondrobena)
146
+
147
+ 0.11.0 2015-11-29 ([changes](https://github.com/colszowka/simplecov/compare/v0.10.0...v0.11.0))
148
+ =================
149
+
150
+ ## Enhancements
151
+
152
+ * Added `SimpleCov.minimum_coverage_by_file` for per-file coverage thresholds. See [#392](https://github.com/colszowka/simplecov/pull/392) (thanks @ptashman)
153
+ * Added `track_files` configuration option to specify a glob to always include in coverage results, whether or not those files are required. By default, this is enabled in the Rails profile for common Rails directories. See [#422](https://github.com/colszowka/simplecov/pull/422) (thanks @hugopeixoto)
154
+ * Speed up `root_filter` by an order of magnitude. See [#396](https://github.com/colszowka/simplecov/pull/396) (thanks @raszi)
155
+
156
+ ## Bugfixes
157
+
158
+ * Fix warning about global variable `$ERROR_INFO`. See [#400](https://github.com/colszowka/simplecov/pull/400) (thanks @amatsuda)
159
+ * Actually recurse upward looking for `.simplecov`, as claimed by the documentation, rather than only the working directory. See [#423](https://github.com/colszowka/simplecov/pull/423) (thanks @alexdowad)
160
+
161
+ 0.10.0 2015-04-18 ([changes](https://github.com/colszowka/simplecov/compare/v0.9.2...v0.10.0))
162
+ =================
163
+
164
+ ## Enhancements
165
+
166
+ * Add writeup about using with Spring to README. See [#341](https://github.com/colszowka/simplecov/issues/341) (thanks @swrobel and @onebree)
167
+ * Add support to pass in an Array when creating filter groups (original PR #104)
168
+ * Filter `/vendor/bundle` by default. See [#331](https://github.com/colszowka/simplecov/pull/331) (thanks @andyw8)
169
+ * Add some helpful singleton methods to the version string.
170
+ * Allow array to be passed in a filter. See [375](https://github.com/colszowka/simplecov/pull/375) (thanks @JanStevens)
171
+ * Enforce consistent code formatting with RuboCop.
172
+
173
+ ## Bugfixes
174
+
175
+ * Fix order dependencies in unit tests. See [#376](https://github.com/colszowka/simplecov/pull/376) (thanks @hugopeixoto)
176
+ * Only run the at_exit behaviors if the current PID matches the PID that called SimpleCov.start. See [#377](https://github.com/colszowka/simplecov/pull/377) (thanks @coderanger)
177
+
178
+ 0.9.2, 2015-02-18 ([changes](https://github.com/colszowka/simplecov/compare/v0.9.1...v0.9.2))
179
+ =================
180
+
181
+ This is a minor bugfix release for simplecov-html, released as `0.9.0`. Due to the tight version constraint in the gemspec
182
+ a new release of simplecov had to be shipped to allow using simplecov-html `~> 0.9.0`.
183
+
184
+ * The browser back / forward button should now work again. See [#36](https://github.com/colszowka/simplecov-html/pull/36) and
185
+ [#35](https://github.com/colszowka/simplecov-html/pull/35). Thanks @whatasunnyday and @justinsteele for submitting PRs to fix this.
186
+ * Fix "warning: possibly useless use of a variable in void context" See [#31](https://github.com/colszowka/simplecov-html/pull/31). Thanks @cbandy
187
+ * Always use binary file format. See [#32](https://github.com/colszowka/simplecov-html/pull/32). Thanks @andy128k
188
+ * Avoid slow file output with JRuby/Windows. See [#16](https://github.com/colszowka/simplecov-html/pull/16). Thanks @pschambacher
189
+
190
+ Other than the release includes a bunch of mostly documentation improvements:
191
+
192
+ * Update Rails path for Rails 4+. See [#336](https://github.com/colszowka/simplecov/pull/336). Thanks @yazinsai
193
+ * Encourage use of .simplecov to avoid lost files. See [#338](https://github.com/colszowka/simplecov/pull/338). thanks @dankohn
194
+ * Specified in the gemspec that simplecov needs ruby 1.8.7. See [#343](https://github.com/colszowka/simplecov/pull/343). thanks @iainbeeston
195
+ * Fix mispointed link in CHANGELOG.md. See [#353](https://github.com/colszowka/simplecov/pull/353). Thanks @dleve123
196
+ * Improve command name docs. See [#356](https://github.com/colszowka/simplecov/pull/356). Thanks @gtd
197
+
198
+
199
+
200
+ 0.9.1, 2014-09-21 ([changes](https://github.com/colszowka/simplecov/compare/v0.9.0...v0.9.1))
201
+ =================
202
+
203
+ ## Bugfixes
204
+
205
+ * In 0.9.0, we introduced a regression that made SimpleCov no-op mode fail on Ruby 1.8, while
206
+ dropping 1.8 support altogether is announced only for v1.0. This has been fixed.
207
+ See [#333](https://github.com/colszowka/simplecov/issues/333) (thanks (@sferik)
208
+
209
+
210
+ 0.9.0, 2014-07-17 ([changes](https://github.com/colszowka/simplecov/compare/v0.8.2...v0.9.0))
211
+ =================
212
+
213
+ **A warm welcome and big thank you to the new contributors [@xaviershay](https://github.com/xaviershay), [@sferik](https://github.com/sferik) and especially [@bf4](https://github.com/bf4) for tackling a whole lot of issues and pull requests for this release!**
214
+
215
+ ## Enhancements
216
+
217
+ * New interface to specify multiple formatters.
218
+ See [#317](https://github.com/colszowka/simplecov/pull/317) (thanks @sferik)
219
+ * Document in the README how to exclude code from coverage reports,
220
+ and that the feature shouldn't be abused for skipping untested
221
+ private code.
222
+ See [#304](https://github.com/colszowka/simplecov/issues/304)
223
+ * Clarify Ruby version support.
224
+ See [#279](https://github.com/colszowka/simplecov/pull/279) (thanks @deivid-rodriguez)
225
+
226
+ ## Bugfixes
227
+
228
+ * Ensure calculations return Floats, not Fixnum or Rational. Fixes segfaults with mathn.
229
+ See [#245](https://github.com/colszowka/simplecov/pull/245) (thanks to @bf4)
230
+ * Using `Kernel.exit` instead of exit to avoid uncaught throw :IRB_EXIT when
231
+ exiting irb sessions.
232
+ See [#287](https://github.com/colszowka/simplecov/pull/287) (thanks @wless1)
233
+ See [#285](https://github.com/colszowka/simplecov/issues/285)
234
+ * Does not look for .simplecov in ~/ when $HOME is not set.
235
+ See [#311](https://github.com/colszowka/simplecov/pull/311) (thanks @lasseebert)
236
+ * Exit with code only if it's Numeric > 0.
237
+ See [#302](https://github.com/colszowka/simplecov/pull/302) (thanks @hajder)
238
+ * Make default filter case insensitive.
239
+ See [#280](https://github.com/colszowka/simplecov/pull/280) (thanks @ryanatball)
240
+ * Improve regexp that matches functional tests.
241
+ See [#276](https://github.com/colszowka/simplecov/pull/276) (thanks @sferik)
242
+ * Fix TravisCI [#272](https://github.com/colszowka/simplecov/pull/272) [#278](https://github.com/colszowka/simplecov/pull/278), [#302](https://github.com/colszowka/simplecov/pull/302)
243
+ * Fix global config load.
244
+ See [#311](https://github.com/colszowka/simplecov/pull/311) (thanks @lasseebert)
245
+
246
+ v0.8.2, 2013-11-20 ([changes](https://github.com/colszowka/simplecov/compare/v0.8.1...v0.8.2))
247
+ ==================
248
+
249
+ ## Bugfixes
250
+
251
+ * Replaced the locking behaviour [via lockfile gem](https://github.com/colszowka/simplecov/pull/185) with
252
+ plain Ruby explicit file locking when merging results. This should make simplecov merging to behave well
253
+ on Windows again.
254
+ See [#258](https://github.com/colszowka/simplecov/issues/258) and
255
+ [#223](https://github.com/colszowka/simplecov/pull/223) (thanks to @tomykaira)
256
+
257
+ v0.8.1, 2013-11-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.8.0...v0.8.1))
258
+ ==================
259
+
260
+ ## Bugfixes
261
+
262
+ * Fixed a regression introduced in 0.8.0 - the Forwardable STDLIB module is now required explicitly.
263
+ See [#256](https://github.com/colszowka/simplecov/pull/256) (thanks to @kylev)
264
+
265
+ v0.8.0, 2013-11-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.7.1...v0.8.0))
266
+ ==================
267
+
268
+ **Note: Yanked the same day because of the regression that 0.8.1 fixes, see above**
269
+
270
+ ## TL;DR
271
+
272
+ It's been way too long since the last official release 0.7.1, but this was partly due to it proving itself
273
+ quite stable in most circumstances. This release brings various further stability improvements to result set merging
274
+ (especially when working with parallel_tests), the configuration, source file encodings, and command name guessing.
275
+
276
+ 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
277
+ Ruby 1.9+, and will not try to detect or bail silently on older Ruby versions. An appropriate deprecation warning
278
+ has been added.
279
+
280
+ ## Features
281
+
282
+ * Configuration blocks now have access to variables and methods outside of the block's scope.
283
+ See [#238](https://github.com/colszowka/simplecov/pull/238) (thanks to @ms-tg)
284
+ * You can now have a global `~/.simplecov` configuration file.
285
+ See [#195](https://github.com/colszowka/simplecov/pull/195) (thanks to @spagalloco)
286
+ * simplecov-html now uses the MIT-licensed colorbox plugin. Some adjustments when viewing source files,
287
+ including retaining the currently open file on refresh have been added.
288
+ See [simplecov-html #15](https://github.com/colszowka/simplecov-html/pull/15) (thanks to @chetan)
289
+ * Adds support for Rails 4 command guessing, removes default group `vendor/plugins`.
290
+ See [#181](https://github.com/colszowka/simplecov/pull/181) and
291
+ [#203](https://github.com/colszowka/simplecov/pull/203) (thanks to @semanticart and @phallstrom)
292
+ * You can now load simplecov without the default settings by doing `require 'simplecov/no_defaults'`
293
+ or setting `ENV['SIMPLECOV_NO_DEFAULTS']`. Check `simplecov/defaults` to see what preconfigurations are getting
294
+ dropped by using this. See [#209](https://github.com/colszowka/simplecov/pull/209) (thanks to @ileitch)
295
+ * The result set merging now uses the `lockfile` gem to avoid race conditions.
296
+ See [#185](https://github.com/colszowka/simplecov/pull/185) (thanks to @jshraibman-mdsol).
297
+ * Automatically detect the usage of parallel_tests and adjust the command name with the test env number accordingly,
298
+ See [#64](https://github.com/colszowka/simplecov/issues/64) and
299
+ [#185](https://github.com/colszowka/simplecov/pull/185) (thanks to @jshraibman-mdsol).
300
+
301
+ ## Enhancements
302
+
303
+ * Rename adapters to "profiles" given that they are bundles of settings. The old adapter methods are
304
+ deprecated, but remain available for now.
305
+ See [#207](https://github.com/colszowka/simplecov/pull/207) (thanks to @mikerobe)
306
+ * Tweaks to the automatic test suite naming. In particular, `rspec/features` should now
307
+ be correctly attributed to RSpec, not Cucumber.
308
+ See [#212](https://github.com/colszowka/simplecov/pull/212) (thanks to @ersatzryan and @betelgeuse)
309
+ * MiniTest should now be identified correctly by the command name guesser.
310
+ See [#244](https://github.com/colszowka/simplecov/pull/244) (thanks to @envygeeks)
311
+ * Makes SimpleCov resilient to inclusion of mathn library.
312
+ See [#175](https://github.com/colszowka/simplecov/pull/175) and
313
+ [#140](https://github.com/colszowka/simplecov/issues/140) (thanks to @scotje)
314
+ * Allow coverage_dir to be an absolute path.
315
+ * See [#190](https://github.com/colszowka/simplecov/pull/190) (thanks to @jshraibman-mdsol)
316
+ * The internal cucumber test suite now uses Capybara 2.
317
+ See [#206](https://github.com/colszowka/simplecov/pull/206) (thanks to @infertux)
318
+ * Work-arounds for the Coverage library shipped in JRuby 1.6 to behave in line with MRI.
319
+ See [#174](https://github.com/colszowka/simplecov/pull/174) (thanks to @grddev)
320
+ * Fix warning: instance variable @exit_status not initialized.
321
+ See [#242](https://github.com/colszowka/simplecov/pull/242) and
322
+ [#213](https://github.com/colszowka/simplecov/pull/213) (thanks to @sferik and @infertux)
323
+
324
+ ## Bugfixes
325
+
326
+ * Correct result calculations for people using :nocov: tags.
327
+ See [#215](https://github.com/colszowka/simplecov/pull/215) (thanks to @aokolish)
328
+ * Average hits per line for groups of files is now computed correctly.
329
+ See [#192](http://github.com/colszowka/simplecov/pull/192) and
330
+ [#179](http://github.com/colszowka/simplecov/issues/179) (thanks to @graysonwright)
331
+ * Compatibility with BINARY internal encoding.
332
+ See [#194](https://github.com/colszowka/simplecov/pull/194) and
333
+ [#127](https://github.com/colszowka/simplecov/issues/127) (thanks to @justfalter)
334
+ * Special characters in `SimpleCov.root` are now correctly escaped before being used as a RegExp.
335
+ See [#204](https://github.com/colszowka/simplecov/issues/204) and
336
+ [#237](https://github.com/colszowka/simplecov/pull/237) (thanks to @rli9)
337
+
338
+ v0.7.1, 2012-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.7.0...v0.7.1))
339
+ ==================
340
+
341
+ * [BUGFIX] The gem packages of 0.7.0 (both simplecov and simplecov-html) pushed to Rubygems had some file
342
+ permission issues, leading to problems when installing SimpleCov in a root/system Rubygems install and then
343
+ trying to use it as a normal user (see https://github.com/colszowka/simplecov/issues/171, thanks @envygeeks
344
+ for bringing it up). The gem build process has been changed to always enforce proper permissions before packaging
345
+ to avoid this issue in the future.
346
+
347
+
348
+ v0.7.0, 2012-10-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.4...v0.7.0))
349
+ ==================
350
+
351
+ * [FEATURE] The new `maximum_coverage_drop` and `minimum_coverage` now allow you to fail your build when the
352
+ coverage dropped by more than what you allowed or is below a minimum value required. Also, `refuse_coverage_drop` disallows
353
+ any coverage drops between test runs.
354
+ See https://github.com/colszowka/simplecov/pull/151, https://github.com/colszowka/simplecov/issues/11,
355
+ https://github.com/colszowka/simplecov/issues/90, and https://github.com/colszowka/simplecov/issues/96 (thanks to @infertux)
356
+ * [FEATURE] SimpleCov now ships with a built-in MultiFormatter which allows the easy usage of multiple result formatters at
357
+ the same time without the need to write custom wrapper code.
358
+ See https://github.com/colszowka/simplecov/pull/158 (thanks to @nikitug)
359
+ * [BUGFIX] The usage of digits, hyphens and underscores in group names could lead to broken tab navigation
360
+ in the default simplecov-html reports. See https://github.com/colszowka/simplecov-html/pull/14 (thanks to @ebelgarts)
361
+ * [REFACTORING] A few more ruby warnings removed. See https://github.com/colszowka/simplecov/issues/106 and
362
+ https://github.com/colszowka/simplecov/pull/139. (thanks to @lukejahnke)
363
+ * A [Pledgie button](https://github.com/colszowka/simplecov/commit/63cfa99f8658fa5cc66a38c83b3195fdf71b9e93) for those that
364
+ feel generous :)
365
+ * The usual bunch of README fixes and documentation tweaks. Thanks to everyone who contributed those!
366
+
1
367
  v0.6.4, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.3...v0.6.4))
2
- -------------------
368
+ ==================
3
369
 
4
370
  * [BUGFIX] Encoding issues with ISO-8859-encoded source files fixed.
5
371
  See https://github.com/colszowka/simplecov/pull/117. (thanks to @Deradon)
@@ -11,7 +377,7 @@ v0.6.4, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.
11
377
 
12
378
 
13
379
  v0.6.3, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.2...v0.6.3))
14
- -------------------
380
+ ==================
15
381
 
16
382
  * [BUGFIX] Modified the API-changes for newer multi_json versions introduced with #122 and v0.6.2 so
17
383
  they are backwards-compatible with older multi_json gems in order to avoid simplecov polluting
@@ -21,19 +387,19 @@ v0.6.3, 2012-05-10 ([changes](https://github.com/colszowka/simplecov/compare/v0.
21
387
  multi_json gems and ensure the above actually works :)
22
388
 
23
389
  v0.6.2, 2012-04-20 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.1...v0.6.2))
24
- -------------------
390
+ ==================
25
391
 
26
392
  * [Updated to latest version of MultiJSON and its new API (thanks to @sferik and @ronen).
27
393
  See https://github.com/colszowka/simplecov/pull/122
28
394
 
29
395
  v0.6.1, 2012-02-24 ([changes](https://github.com/colszowka/simplecov/compare/v0.6.0...v0.6.1))
30
- -------------------
396
+ ==================
31
397
 
32
398
  * [BUGFIX] Don't force-load Railtie on Rails < 3. Fixes regression introduced with
33
399
  #83. See https://github.com/colszowka/simplecov/issues/113
34
400
 
35
401
  v0.6.0, 2012-02-22 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.4...v0.6.0))
36
- -------------------
402
+ ==================
37
403
 
38
404
  * [FEATURE] Auto-magic `rake simplecov` task for rails
39
405
  (see https://github.com/colszowka/simplecov/pull/83, thanks @sunaku)
@@ -49,7 +415,7 @@ v0.6.0, 2012-02-22 ([changes](https://github.com/colszowka/simplecov/compare/v0.
49
415
  list of changes: https://github.com/colszowka/simplecov/compare/v0.5.4...v0.6.0
50
416
 
51
417
  v0.5.4, 2011-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.3...v0.5.4))
52
- -------------------
418
+ ==================
53
419
 
54
420
  * Do not give exit code 0 when there are exceptions prior to tests
55
421
  (see https://github.com/colszowka/simplecov/issues/41, thanks @nbogie)
@@ -62,7 +428,7 @@ v0.5.4, 2011-10-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.
62
428
  * Readme formatted in Markdown :)
63
429
 
64
430
  v0.5.3, 2011-09-13 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.2...v0.5.3))
65
- -------------------
431
+ ==================
66
432
 
67
433
  * Fix for encoding issues that came from the nocov processing mechanism
68
434
  (see https://github.com/colszowka/simplecov/issues/71)
@@ -77,13 +443,13 @@ v0.5.3, 2011-09-13 ([changes](https://github.com/colszowka/simplecov/compare/v0.
77
443
  alias SimpleCov.skip_token)
78
444
 
79
445
  v0.5.2, 2011-09-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.1...v0.5.2))
80
- -------------------
446
+ ==================
81
447
 
82
448
  * Another fix for a bug in JSON processing introduced with MultiJSON in 0.5.1
83
449
  (see https://github.com/colszowka/simplecov/pull/75, thanks @sferik)
84
450
 
85
451
  v0.5.1, 2011-09-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.5.0...v0.5.1))
86
- -------------------
452
+ ==================
87
453
  **Note: Yanked 2011-09-12 because the MultiJSON-patch had a crucial bug**
88
454
 
89
455
  * Fix for invalid gemspec dependency string (see https://github.com/colszowka/simplecov/pull/70,
@@ -94,7 +460,7 @@ v0.5.1, 2011-09-12 ([changes](https://github.com/colszowka/simplecov/compare/v0.
94
460
  and https://github.com/colszowka/simplecov/pull/74, thanks @sferik)
95
461
 
96
462
  v0.5.0, 2011-09-09 ([changes](https://github.com/colszowka/simplecov/compare/v0.4.2...v0.5.4))
97
- -------------------
463
+ ==================
98
464
  **Note: Yanked 2011-09-09 because of trouble with the gemspec.**
99
465
 
100
466
  * JSON is now used instead of YAML for resultset caching (used for merging). Should resolve
@@ -115,7 +481,7 @@ v0.5.0, 2011-09-09 ([changes](https://github.com/colszowka/simplecov/compare/v0.
115
481
  <pre>
116
482
  #:nocov:
117
483
  def skipped
118
- @foo * 2
484
+ @foo * 2
119
485
  end
120
486
  #:nocov:
121
487
  </pre>
@@ -138,4 +504,4 @@ v0.5.0, 2011-09-09 ([changes](https://github.com/colszowka/simplecov/compare/v0.
138
504
  * The display of source files has been improved a lot. Weird scrolling trouble, out-of-scope line hit counts
139
505
  and such should be a thing of the past. Also, it is prettier now.
140
506
  * Source files are now syntax highlighted
141
- * File paths no longer have that annoying './' in front of them
507
+ * File paths no longer have that annoying './' in front of them