simplecov 0.22.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +173 -875
  4. data/exe/simplecov +8 -0
  5. data/lib/minitest/simplecov_plugin.rb +18 -7
  6. data/lib/simplecov/atomic_file.rb +67 -0
  7. data/lib/simplecov/autostart.rb +9 -0
  8. data/lib/simplecov/baseline/parser.rb +58 -0
  9. data/lib/simplecov/baseline.rb +170 -0
  10. data/lib/simplecov/cli/affected/changed_files.rb +57 -0
  11. data/lib/simplecov/cli/affected/selection.rb +117 -0
  12. data/lib/simplecov/cli/affected.rb +148 -0
  13. data/lib/simplecov/cli/annotations.rb +166 -0
  14. data/lib/simplecov/cli/badge/svg.rb +70 -0
  15. data/lib/simplecov/cli/badge.rb +62 -0
  16. data/lib/simplecov/cli/clean.rb +86 -0
  17. data/lib/simplecov/cli/command_helpers.rb +91 -0
  18. data/lib/simplecov/cli/completions/scripts.rb +114 -0
  19. data/lib/simplecov/cli/completions.rb +83 -0
  20. data/lib/simplecov/cli/coverage.rb +83 -0
  21. data/lib/simplecov/cli/coverage_file.rb +109 -0
  22. data/lib/simplecov/cli/dead_code/output.rb +100 -0
  23. data/lib/simplecov/cli/dead_code.rb +139 -0
  24. data/lib/simplecov/cli/diff/output.rb +45 -0
  25. data/lib/simplecov/cli/diff.rb +115 -0
  26. data/lib/simplecov/cli/dotfile.rb +156 -0
  27. data/lib/simplecov/cli/git.rb +41 -0
  28. data/lib/simplecov/cli/history/output.rb +135 -0
  29. data/lib/simplecov/cli/history.rb +67 -0
  30. data/lib/simplecov/cli/merge.rb +115 -0
  31. data/lib/simplecov/cli/open.rb +45 -0
  32. data/lib/simplecov/cli/patch/changed_lines.rb +149 -0
  33. data/lib/simplecov/cli/patch/output.rb +151 -0
  34. data/lib/simplecov/cli/patch.rb +175 -0
  35. data/lib/simplecov/cli/ratchet/output.rb +44 -0
  36. data/lib/simplecov/cli/ratchet.rb +83 -0
  37. data/lib/simplecov/cli/report.rb +91 -0
  38. data/lib/simplecov/cli/run.rb +35 -0
  39. data/lib/simplecov/cli/serve/report_preparer.rb +30 -0
  40. data/lib/simplecov/cli/serve/static_file_handler.rb +128 -0
  41. data/lib/simplecov/cli/serve.rb +88 -0
  42. data/lib/simplecov/cli/show/annotator.rb +87 -0
  43. data/lib/simplecov/cli/show/sweep.rb +36 -0
  44. data/lib/simplecov/cli/show.rb +133 -0
  45. data/lib/simplecov/cli/status/facts.rb +87 -0
  46. data/lib/simplecov/cli/status.rb +93 -0
  47. data/lib/simplecov/cli/tests/redundancy.rb +78 -0
  48. data/lib/simplecov/cli/tests.rb +148 -0
  49. data/lib/simplecov/cli/uncovered/misses.rb +33 -0
  50. data/lib/simplecov/cli/uncovered.rb +127 -0
  51. data/lib/simplecov/cli/usage.rb +153 -0
  52. data/lib/simplecov/cli/watch/live_report.rb +73 -0
  53. data/lib/simplecov/cli/watch/narrator.rb +55 -0
  54. data/lib/simplecov/cli/watch/poller.rb +45 -0
  55. data/lib/simplecov/cli/watch/session.rb +134 -0
  56. data/lib/simplecov/cli/watch/test_plan.rb +43 -0
  57. data/lib/simplecov/cli/watch.rb +85 -0
  58. data/lib/simplecov/cli.rb +114 -0
  59. data/lib/simplecov/color.rb +65 -0
  60. data/lib/simplecov/combine/branches_combiner.rb +44 -21
  61. data/lib/simplecov/combine/coverage_accumulator.rb +175 -0
  62. data/lib/simplecov/combine/identity_interner.rb +27 -0
  63. data/lib/simplecov/combine/interned_counts.rb +28 -0
  64. data/lib/simplecov/combine/lines_combiner.rb +35 -29
  65. data/lib/simplecov/combine/methods_combiner.rb +48 -0
  66. data/lib/simplecov/combine/results_combiner.rb +9 -49
  67. data/lib/simplecov/combine.rb +0 -24
  68. data/lib/simplecov/command_guesser.rb +99 -42
  69. data/lib/simplecov/configuration/baseline.rb +31 -0
  70. data/lib/simplecov/configuration/coverage.rb +184 -0
  71. data/lib/simplecov/configuration/coverage_criteria.rb +143 -0
  72. data/lib/simplecov/configuration/deprecations.rb +21 -0
  73. data/lib/simplecov/configuration/eval_coverage.rb +37 -0
  74. data/lib/simplecov/configuration/filters.rb +131 -0
  75. data/lib/simplecov/configuration/formatting.rb +129 -0
  76. data/lib/simplecov/configuration/groups.rb +48 -0
  77. data/lib/simplecov/configuration/history.rb +44 -0
  78. data/lib/simplecov/configuration/ignored_entries.rb +72 -0
  79. data/lib/simplecov/configuration/merging.rb +197 -0
  80. data/lib/simplecov/configuration/missed_caps.rb +51 -0
  81. data/lib/simplecov/configuration/production.rb +23 -0
  82. data/lib/simplecov/configuration/test_tracking.rb +48 -0
  83. data/lib/simplecov/configuration/thresholds.rb +150 -0
  84. data/lib/simplecov/configuration/view_coverage.rb +37 -0
  85. data/lib/simplecov/configuration.rb +100 -443
  86. data/lib/simplecov/configuration_error.rb +5 -0
  87. data/lib/simplecov/context_map/union.rb +81 -0
  88. data/lib/simplecov/context_map.rb +187 -0
  89. data/lib/simplecov/coverage_json.rb +21 -0
  90. data/lib/simplecov/coverage_statistics.rb +24 -28
  91. data/lib/simplecov/coverage_violations.rb +254 -0
  92. data/lib/simplecov/current_run.rb +61 -0
  93. data/lib/simplecov/defaults.rb +20 -28
  94. data/lib/simplecov/deprecation.rb +63 -0
  95. data/lib/simplecov/directive/erb.rb +44 -0
  96. data/lib/simplecov/directive/haml.rb +33 -0
  97. data/lib/simplecov/directive/indented_template.rb +37 -0
  98. data/lib/simplecov/directive/slim.rb +35 -0
  99. data/lib/simplecov/directive/template.rb +29 -0
  100. data/lib/simplecov/directive.rb +152 -0
  101. data/lib/simplecov/exit_codes/baseline_check.rb +46 -0
  102. data/lib/simplecov/exit_codes/check.rb +39 -0
  103. data/lib/simplecov/exit_codes/exit_code_handling.rb +24 -5
  104. data/lib/simplecov/exit_codes/maximum_coverage_drop_check.rb +17 -67
  105. data/lib/simplecov/exit_codes/maximum_missed_check.rb +26 -0
  106. data/lib/simplecov/exit_codes/maximum_missed_per_file_check.rb +34 -0
  107. data/lib/simplecov/exit_codes/maximum_overall_coverage_check.rb +27 -0
  108. data/lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb +20 -38
  109. data/lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb +28 -0
  110. data/lib/simplecov/exit_codes/minimum_overall_coverage_check.rb +37 -34
  111. data/lib/simplecov/exit_codes.rb +26 -0
  112. data/lib/simplecov/exit_handling.rb +163 -0
  113. data/lib/simplecov/file_list.rb +63 -48
  114. data/lib/simplecov/filter.rb +98 -42
  115. data/lib/simplecov/formatter/base.rb +100 -0
  116. data/lib/simplecov/formatter/baseline_formatter.rb +98 -0
  117. data/lib/simplecov/formatter/coverage_json_writer.rb +95 -0
  118. data/lib/simplecov/formatter/html_formatter/public/index.html +93 -0
  119. data/lib/simplecov/formatter/html_formatter/viewer_data_validator.rb +153 -0
  120. data/lib/simplecov/formatter/html_formatter.rb +88 -0
  121. data/lib/simplecov/formatter/json_formatter/errors_formatter.rb +122 -0
  122. data/lib/simplecov/formatter/json_formatter/production_section_formatter.rb +48 -0
  123. data/lib/simplecov/formatter/json_formatter/result_hash_formatter.rb +132 -0
  124. data/lib/simplecov/formatter/json_formatter/source_file_formatter.rb +97 -0
  125. data/lib/simplecov/formatter/json_formatter.rb +40 -0
  126. data/lib/simplecov/formatter/multi_formatter.rb +8 -10
  127. data/lib/simplecov/formatter/simple_formatter.rb +12 -15
  128. data/lib/simplecov/formatter.rb +21 -1
  129. data/lib/simplecov/group_names.rb +33 -0
  130. data/lib/simplecov/history.rb +115 -0
  131. data/lib/simplecov/last_run.rb +16 -5
  132. data/lib/simplecov/lines_classifier.rb +67 -19
  133. data/lib/simplecov/load_global_config.rb +12 -4
  134. data/lib/simplecov/parallel_adapters/base.rb +50 -0
  135. data/lib/simplecov/parallel_adapters/generic.rb +33 -0
  136. data/lib/simplecov/parallel_adapters/parallel_tests.rb +72 -0
  137. data/lib/simplecov/parallel_adapters.rb +54 -0
  138. data/lib/simplecov/parallel_coordination.rb +124 -0
  139. data/lib/simplecov/parallel_result_merger/worker_payload.rb +33 -0
  140. data/lib/simplecov/parallel_result_merger.rb +171 -0
  141. data/lib/simplecov/process.rb +34 -12
  142. data/lib/simplecov/production/error.rb +11 -0
  143. data/lib/simplecov/production/file_sink.rb +130 -0
  144. data/lib/simplecov/production.rb +249 -0
  145. data/lib/simplecov/profiles/bundler_filter.rb +1 -1
  146. data/lib/simplecov/profiles/hidden_filter.rb +1 -1
  147. data/lib/simplecov/profiles/rails.rb +13 -10
  148. data/lib/simplecov/profiles/root_filter.rb +2 -5
  149. data/lib/simplecov/profiles/strict.rb +22 -0
  150. data/lib/simplecov/profiles/test_frameworks.rb +1 -4
  151. data/lib/simplecov/profiles.rb +26 -19
  152. data/lib/simplecov/report_deferral.rb +45 -0
  153. data/lib/simplecov/report_stamp.rb +25 -0
  154. data/lib/simplecov/result/filter_config.rb +19 -0
  155. data/lib/simplecov/result/missing_source_files_reporter.rb +48 -0
  156. data/lib/simplecov/result/serialization.rb +43 -0
  157. data/lib/simplecov/result/source_file_builder.rb +46 -0
  158. data/lib/simplecov/result.rb +123 -47
  159. data/lib/simplecov/result_adapter.rb +130 -11
  160. data/lib/simplecov/result_merger/contexts.rb +22 -0
  161. data/lib/simplecov/result_merger/legacy_format_adapter.rb +24 -0
  162. data/lib/simplecov/result_merger/resultset_file.rb +67 -0
  163. data/lib/simplecov/result_merger/resultset_run_identity.rb +65 -0
  164. data/lib/simplecov/result_merger/resultset_store.rb +62 -0
  165. data/lib/simplecov/result_merger/unloaded_files.rb +95 -0
  166. data/lib/simplecov/result_merger.rb +120 -124
  167. data/lib/simplecov/result_processing.rb +188 -0
  168. data/lib/simplecov/run_identity.rb +75 -0
  169. data/lib/simplecov/simulate_coverage.rb +72 -17
  170. data/lib/simplecov/source_file/branch.rb +8 -35
  171. data/lib/simplecov/source_file/branch_builder.rb +95 -0
  172. data/lib/simplecov/source_file/builder_context.rb +28 -0
  173. data/lib/simplecov/source_file/line.rb +17 -32
  174. data/lib/simplecov/source_file/line_builder.rb +37 -0
  175. data/lib/simplecov/source_file/method.rb +54 -0
  176. data/lib/simplecov/source_file/method_builder.rb +51 -0
  177. data/lib/simplecov/source_file/ruby_data_parser.rb +103 -0
  178. data/lib/simplecov/source_file/skip_chunks.rb +72 -0
  179. data/lib/simplecov/source_file/source_loader.rb +89 -0
  180. data/lib/simplecov/source_file/statistics.rb +76 -0
  181. data/lib/simplecov/source_file.rb +64 -260
  182. data/lib/simplecov/static_coverage_extractor/condition_folding.rb +155 -0
  183. data/lib/simplecov/static_coverage_extractor/location_conventions.rb +191 -0
  184. data/lib/simplecov/static_coverage_extractor/method_collector.rb +45 -0
  185. data/lib/simplecov/static_coverage_extractor/prism_compat.rb +46 -0
  186. data/lib/simplecov/static_coverage_extractor/value_position.rb +61 -0
  187. data/lib/simplecov/static_coverage_extractor/visitor.rb +163 -0
  188. data/lib/simplecov/static_coverage_extractor.rb +78 -0
  189. data/lib/simplecov/test_tracker/accessors.rb +34 -0
  190. data/lib/simplecov/test_tracker/constant_watch.rb +49 -0
  191. data/lib/simplecov/test_tracker/delta.rb +69 -0
  192. data/lib/simplecov/test_tracker/framework_hooks.rb +130 -0
  193. data/lib/simplecov/test_tracker.rb +162 -0
  194. data/lib/simplecov/unloaded_file_injector.rb +62 -0
  195. data/lib/simplecov/useless_results_remover.rb +17 -7
  196. data/lib/simplecov/version.rb +1 -1
  197. data/lib/simplecov/view_coverage/template_compiler.rb +83 -0
  198. data/lib/simplecov/view_coverage.rb +55 -0
  199. data/lib/simplecov-html.rb +5 -0
  200. data/lib/simplecov.rb +143 -394
  201. data/lib/simplecov_json_formatter.rb +5 -0
  202. data/man/simplecov.1 +354 -0
  203. data/sig/simplecov.rbs +1710 -0
  204. metadata +183 -61
  205. data/CHANGELOG.md +0 -191
  206. data/doc/alternate-formatters.md +0 -71
  207. data/doc/commercial-services.md +0 -25
  208. data/doc/editor-integration.md +0 -18
  209. data/lib/simplecov/combine/files_combiner.rb +0 -24
  210. data/lib/simplecov/default_formatter.rb +0 -20
metadata CHANGED
@@ -1,125 +1,248 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simplecov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Erik Berlin
8
+ - Benjamin Fleischer
9
+ - Akira Matsuda
7
10
  - Christoph Olszowka
8
11
  - Tobias Pfeiffer
9
- autorequire:
10
- bindir: bin
12
+ - David Rodríguez
13
+ - Xavier Shay
14
+ bindir: exe
11
15
  cert_chain: []
12
- date: 2022-12-23 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: docile
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '1.1'
21
- type: :runtime
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: '1.1'
28
- - !ruby/object:Gem::Dependency
29
- name: simplecov-html
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: '0.11'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: '0.11'
42
- - !ruby/object:Gem::Dependency
43
- name: simplecov_json_formatter
44
- requirement: !ruby/object:Gem::Requirement
45
- requirements:
46
- - - "~>"
47
- - !ruby/object:Gem::Version
48
- version: '0.1'
49
- type: :runtime
50
- prerelease: false
51
- version_requirements: !ruby/object:Gem::Requirement
52
- requirements:
53
- - - "~>"
54
- - !ruby/object:Gem::Version
55
- version: '0.1'
16
+ date: 1980-01-02 00:00:00.000000000 Z
17
+ dependencies: []
56
18
  description: Code coverage for Ruby with a powerful configuration library and automatic
57
19
  merging of coverage across test suites
58
20
  email:
59
- - christoph at olszowka de
21
+ - sferik@gmail.com
22
+ - github@benjaminfleischer.com
23
+ - ronnie@dio.jp
24
+ - christoph@olszowka.de
60
25
  - pragtob@gmail.com
61
- executables: []
26
+ - deivid.rodriguez@gmail.com
27
+ - xavier@rhnh.net
28
+ executables:
29
+ - simplecov
62
30
  extensions: []
63
31
  extra_rdoc_files: []
64
32
  files:
65
- - CHANGELOG.md
66
33
  - LICENSE
67
34
  - README.md
68
- - doc/alternate-formatters.md
69
- - doc/commercial-services.md
70
- - doc/editor-integration.md
35
+ - exe/simplecov
71
36
  - lib/minitest/simplecov_plugin.rb
37
+ - lib/simplecov-html.rb
72
38
  - lib/simplecov.rb
39
+ - lib/simplecov/atomic_file.rb
40
+ - lib/simplecov/autostart.rb
41
+ - lib/simplecov/baseline.rb
42
+ - lib/simplecov/baseline/parser.rb
43
+ - lib/simplecov/cli.rb
44
+ - lib/simplecov/cli/affected.rb
45
+ - lib/simplecov/cli/affected/changed_files.rb
46
+ - lib/simplecov/cli/affected/selection.rb
47
+ - lib/simplecov/cli/annotations.rb
48
+ - lib/simplecov/cli/badge.rb
49
+ - lib/simplecov/cli/badge/svg.rb
50
+ - lib/simplecov/cli/clean.rb
51
+ - lib/simplecov/cli/command_helpers.rb
52
+ - lib/simplecov/cli/completions.rb
53
+ - lib/simplecov/cli/completions/scripts.rb
54
+ - lib/simplecov/cli/coverage.rb
55
+ - lib/simplecov/cli/coverage_file.rb
56
+ - lib/simplecov/cli/dead_code.rb
57
+ - lib/simplecov/cli/dead_code/output.rb
58
+ - lib/simplecov/cli/diff.rb
59
+ - lib/simplecov/cli/diff/output.rb
60
+ - lib/simplecov/cli/dotfile.rb
61
+ - lib/simplecov/cli/git.rb
62
+ - lib/simplecov/cli/history.rb
63
+ - lib/simplecov/cli/history/output.rb
64
+ - lib/simplecov/cli/merge.rb
65
+ - lib/simplecov/cli/open.rb
66
+ - lib/simplecov/cli/patch.rb
67
+ - lib/simplecov/cli/patch/changed_lines.rb
68
+ - lib/simplecov/cli/patch/output.rb
69
+ - lib/simplecov/cli/ratchet.rb
70
+ - lib/simplecov/cli/ratchet/output.rb
71
+ - lib/simplecov/cli/report.rb
72
+ - lib/simplecov/cli/run.rb
73
+ - lib/simplecov/cli/serve.rb
74
+ - lib/simplecov/cli/serve/report_preparer.rb
75
+ - lib/simplecov/cli/serve/static_file_handler.rb
76
+ - lib/simplecov/cli/show.rb
77
+ - lib/simplecov/cli/show/annotator.rb
78
+ - lib/simplecov/cli/show/sweep.rb
79
+ - lib/simplecov/cli/status.rb
80
+ - lib/simplecov/cli/status/facts.rb
81
+ - lib/simplecov/cli/tests.rb
82
+ - lib/simplecov/cli/tests/redundancy.rb
83
+ - lib/simplecov/cli/uncovered.rb
84
+ - lib/simplecov/cli/uncovered/misses.rb
85
+ - lib/simplecov/cli/usage.rb
86
+ - lib/simplecov/cli/watch.rb
87
+ - lib/simplecov/cli/watch/live_report.rb
88
+ - lib/simplecov/cli/watch/narrator.rb
89
+ - lib/simplecov/cli/watch/poller.rb
90
+ - lib/simplecov/cli/watch/session.rb
91
+ - lib/simplecov/cli/watch/test_plan.rb
92
+ - lib/simplecov/color.rb
73
93
  - lib/simplecov/combine.rb
74
94
  - lib/simplecov/combine/branches_combiner.rb
75
- - lib/simplecov/combine/files_combiner.rb
95
+ - lib/simplecov/combine/coverage_accumulator.rb
96
+ - lib/simplecov/combine/identity_interner.rb
97
+ - lib/simplecov/combine/interned_counts.rb
76
98
  - lib/simplecov/combine/lines_combiner.rb
99
+ - lib/simplecov/combine/methods_combiner.rb
77
100
  - lib/simplecov/combine/results_combiner.rb
78
101
  - lib/simplecov/command_guesser.rb
79
102
  - lib/simplecov/configuration.rb
103
+ - lib/simplecov/configuration/baseline.rb
104
+ - lib/simplecov/configuration/coverage.rb
105
+ - lib/simplecov/configuration/coverage_criteria.rb
106
+ - lib/simplecov/configuration/deprecations.rb
107
+ - lib/simplecov/configuration/eval_coverage.rb
108
+ - lib/simplecov/configuration/filters.rb
109
+ - lib/simplecov/configuration/formatting.rb
110
+ - lib/simplecov/configuration/groups.rb
111
+ - lib/simplecov/configuration/history.rb
112
+ - lib/simplecov/configuration/ignored_entries.rb
113
+ - lib/simplecov/configuration/merging.rb
114
+ - lib/simplecov/configuration/missed_caps.rb
115
+ - lib/simplecov/configuration/production.rb
116
+ - lib/simplecov/configuration/test_tracking.rb
117
+ - lib/simplecov/configuration/thresholds.rb
118
+ - lib/simplecov/configuration/view_coverage.rb
119
+ - lib/simplecov/configuration_error.rb
120
+ - lib/simplecov/context_map.rb
121
+ - lib/simplecov/context_map/union.rb
122
+ - lib/simplecov/coverage_json.rb
80
123
  - lib/simplecov/coverage_statistics.rb
81
- - lib/simplecov/default_formatter.rb
124
+ - lib/simplecov/coverage_violations.rb
125
+ - lib/simplecov/current_run.rb
82
126
  - lib/simplecov/defaults.rb
127
+ - lib/simplecov/deprecation.rb
128
+ - lib/simplecov/directive.rb
129
+ - lib/simplecov/directive/erb.rb
130
+ - lib/simplecov/directive/haml.rb
131
+ - lib/simplecov/directive/indented_template.rb
132
+ - lib/simplecov/directive/slim.rb
133
+ - lib/simplecov/directive/template.rb
83
134
  - lib/simplecov/exit_codes.rb
135
+ - lib/simplecov/exit_codes/baseline_check.rb
136
+ - lib/simplecov/exit_codes/check.rb
84
137
  - lib/simplecov/exit_codes/exit_code_handling.rb
85
138
  - lib/simplecov/exit_codes/maximum_coverage_drop_check.rb
139
+ - lib/simplecov/exit_codes/maximum_missed_check.rb
140
+ - lib/simplecov/exit_codes/maximum_missed_per_file_check.rb
141
+ - lib/simplecov/exit_codes/maximum_overall_coverage_check.rb
86
142
  - lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb
143
+ - lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb
87
144
  - lib/simplecov/exit_codes/minimum_overall_coverage_check.rb
145
+ - lib/simplecov/exit_handling.rb
88
146
  - lib/simplecov/file_list.rb
89
147
  - lib/simplecov/filter.rb
90
148
  - lib/simplecov/formatter.rb
149
+ - lib/simplecov/formatter/base.rb
150
+ - lib/simplecov/formatter/baseline_formatter.rb
151
+ - lib/simplecov/formatter/coverage_json_writer.rb
152
+ - lib/simplecov/formatter/html_formatter.rb
153
+ - lib/simplecov/formatter/html_formatter/public/index.html
154
+ - lib/simplecov/formatter/html_formatter/viewer_data_validator.rb
155
+ - lib/simplecov/formatter/json_formatter.rb
156
+ - lib/simplecov/formatter/json_formatter/errors_formatter.rb
157
+ - lib/simplecov/formatter/json_formatter/production_section_formatter.rb
158
+ - lib/simplecov/formatter/json_formatter/result_hash_formatter.rb
159
+ - lib/simplecov/formatter/json_formatter/source_file_formatter.rb
91
160
  - lib/simplecov/formatter/multi_formatter.rb
92
161
  - lib/simplecov/formatter/simple_formatter.rb
162
+ - lib/simplecov/group_names.rb
163
+ - lib/simplecov/history.rb
93
164
  - lib/simplecov/last_run.rb
94
165
  - lib/simplecov/lines_classifier.rb
95
166
  - lib/simplecov/load_global_config.rb
96
167
  - lib/simplecov/no_defaults.rb
168
+ - lib/simplecov/parallel_adapters.rb
169
+ - lib/simplecov/parallel_adapters/base.rb
170
+ - lib/simplecov/parallel_adapters/generic.rb
171
+ - lib/simplecov/parallel_adapters/parallel_tests.rb
172
+ - lib/simplecov/parallel_coordination.rb
173
+ - lib/simplecov/parallel_result_merger.rb
174
+ - lib/simplecov/parallel_result_merger/worker_payload.rb
97
175
  - lib/simplecov/process.rb
176
+ - lib/simplecov/production.rb
177
+ - lib/simplecov/production/error.rb
178
+ - lib/simplecov/production/file_sink.rb
98
179
  - lib/simplecov/profiles.rb
99
180
  - lib/simplecov/profiles/bundler_filter.rb
100
181
  - lib/simplecov/profiles/hidden_filter.rb
101
182
  - lib/simplecov/profiles/rails.rb
102
183
  - lib/simplecov/profiles/root_filter.rb
184
+ - lib/simplecov/profiles/strict.rb
103
185
  - lib/simplecov/profiles/test_frameworks.rb
186
+ - lib/simplecov/report_deferral.rb
187
+ - lib/simplecov/report_stamp.rb
104
188
  - lib/simplecov/result.rb
189
+ - lib/simplecov/result/filter_config.rb
190
+ - lib/simplecov/result/missing_source_files_reporter.rb
191
+ - lib/simplecov/result/serialization.rb
192
+ - lib/simplecov/result/source_file_builder.rb
105
193
  - lib/simplecov/result_adapter.rb
106
194
  - lib/simplecov/result_merger.rb
195
+ - lib/simplecov/result_merger/contexts.rb
196
+ - lib/simplecov/result_merger/legacy_format_adapter.rb
197
+ - lib/simplecov/result_merger/resultset_file.rb
198
+ - lib/simplecov/result_merger/resultset_run_identity.rb
199
+ - lib/simplecov/result_merger/resultset_store.rb
200
+ - lib/simplecov/result_merger/unloaded_files.rb
201
+ - lib/simplecov/result_processing.rb
202
+ - lib/simplecov/run_identity.rb
107
203
  - lib/simplecov/simulate_coverage.rb
108
204
  - lib/simplecov/source_file.rb
109
205
  - lib/simplecov/source_file/branch.rb
206
+ - lib/simplecov/source_file/branch_builder.rb
207
+ - lib/simplecov/source_file/builder_context.rb
110
208
  - lib/simplecov/source_file/line.rb
209
+ - lib/simplecov/source_file/line_builder.rb
210
+ - lib/simplecov/source_file/method.rb
211
+ - lib/simplecov/source_file/method_builder.rb
212
+ - lib/simplecov/source_file/ruby_data_parser.rb
213
+ - lib/simplecov/source_file/skip_chunks.rb
214
+ - lib/simplecov/source_file/source_loader.rb
215
+ - lib/simplecov/source_file/statistics.rb
216
+ - lib/simplecov/static_coverage_extractor.rb
217
+ - lib/simplecov/static_coverage_extractor/condition_folding.rb
218
+ - lib/simplecov/static_coverage_extractor/location_conventions.rb
219
+ - lib/simplecov/static_coverage_extractor/method_collector.rb
220
+ - lib/simplecov/static_coverage_extractor/prism_compat.rb
221
+ - lib/simplecov/static_coverage_extractor/value_position.rb
222
+ - lib/simplecov/static_coverage_extractor/visitor.rb
223
+ - lib/simplecov/test_tracker.rb
224
+ - lib/simplecov/test_tracker/accessors.rb
225
+ - lib/simplecov/test_tracker/constant_watch.rb
226
+ - lib/simplecov/test_tracker/delta.rb
227
+ - lib/simplecov/test_tracker/framework_hooks.rb
228
+ - lib/simplecov/unloaded_file_injector.rb
111
229
  - lib/simplecov/useless_results_remover.rb
112
230
  - lib/simplecov/version.rb
231
+ - lib/simplecov/view_coverage.rb
232
+ - lib/simplecov/view_coverage/template_compiler.rb
233
+ - lib/simplecov_json_formatter.rb
234
+ - man/simplecov.1
235
+ - sig/simplecov.rbs
113
236
  homepage: https://github.com/simplecov-ruby/simplecov
114
237
  licenses:
115
238
  - MIT
116
239
  metadata:
117
240
  bug_tracker_uri: https://github.com/simplecov-ruby/simplecov/issues
118
241
  changelog_uri: https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md
119
- documentation_uri: https://www.rubydoc.info/gems/simplecov/0.22.0
242
+ documentation_uri: https://www.rubydoc.info/gems/simplecov/1.3.0
120
243
  mailing_list_uri: https://groups.google.com/forum/#!forum/simplecov
121
- source_code_uri: https://github.com/simplecov-ruby/simplecov/tree/v0.22.0
122
- post_install_message:
244
+ source_code_uri: https://github.com/simplecov-ruby/simplecov/tree/v1.3.0
245
+ rubygems_mfa_required: 'true'
123
246
  rdoc_options: []
124
247
  require_paths:
125
248
  - lib
@@ -127,15 +250,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
127
250
  requirements:
128
251
  - - ">="
129
252
  - !ruby/object:Gem::Version
130
- version: 2.5.0
253
+ version: '3.3'
131
254
  required_rubygems_version: !ruby/object:Gem::Requirement
132
255
  requirements:
133
256
  - - ">="
134
257
  - !ruby/object:Gem::Version
135
258
  version: '0'
136
259
  requirements: []
137
- rubygems_version: 3.3.7
138
- signing_key:
260
+ rubygems_version: 4.0.20
139
261
  specification_version: 4
140
262
  summary: Code coverage for Ruby
141
263
  test_files: []
data/CHANGELOG.md DELETED
@@ -1,191 +0,0 @@
1
- 0.22.0 (2022-12-23)
2
- ==========
3
-
4
- ## Enhancements
5
-
6
- * On Ruby 3.2+, you can now use the new Coverage library feature for `eval` - See https://github.com/simplecov-ruby/simplecov/pull/1037. Thanks [@mame](https://github.com/mame)!
7
-
8
- ## Bugfixes
9
- * Fix for making the test suite pass against the upcoming Ruby 3.2 - See https://github.com/simplecov-ruby/simplecov/pull/1035. Thanks [@mame](https://github.com/mame)
10
-
11
- 0.21.2 (2021-01-09)
12
- ==========
13
-
14
- ## Bugfixes
15
- * `maximum_coverage_drop` won't fail any more if `.last_run.json` is still in the old format. Thanks [@petertellgren](https://github.com/petertellgren)
16
- * `maximum_coverage_drop` won't fail if an expectation is specified for a previous unrecorded criterion, it will just pass (there's nothing, so nothing to drop)
17
- * fixed bug in `maximum_coverage_drop` calculation that could falsely report it had dropped for minimal differences
18
-
19
- 0.21.1 (2021-01-04)
20
- ==========
21
-
22
- ## Bugfixes
23
- * `minimum_coverage_by_file` works again as expected (errored out before 😱)
24
-
25
- 0.21.0 (2021-01-03)
26
- ==========
27
-
28
- The "Collate++" release making it more viable for big CI setups by limiting memory consumption. Also includes some nice new additions for branch coverage settings.
29
-
30
- ## Enhancements
31
- * Performance of `SimpleCov.collate` improved - it should both run faster and consume much less memory esp. when run with many files (memory consumption should not increase with number of files any more)
32
- * Can now define the minimum_coverage_by_file, maximum_coverage_drop and refuse_coverage_drop by branch as well as line coverage. Thanks to [@jemmaissroff](https://github.com/jemmaissroff)
33
- * Can set primary coverage to something other than line by setting `primary_coverage :branch` in SimpleCov Configuration. Thanks to [@jemmaissroff](https://github.com/jemmaissroff)
34
-
35
- ## Misc
36
- * reduce gem size by splitting Changelog into `Changelog.md` and a pre 0.18 `Changelog.old.md`, the latter of which is not included in the gem
37
- * The interface of `ResultMeger.merge_and_store` is changed to support the `collate` performance improvements mentioned above. It's not considered an official API, hence this is not in the breaking section. For people using it to merge results from different machines, it's recommended to migrate to [collate](https://github.com/simplecov-ruby/simplecov#merging-test-runs-under-different-execution-environments).
38
-
39
- 0.20.0 (2020-11-29)
40
- ==========
41
-
42
- The "JSON formatter" release. Starting now a JSON formatter is included by default in the release. This is mostly done for Code Climate reasons, you can find more details [in this issue](https://github.com/codeclimate/test-reporter/issues/413).
43
- Shipping with so much by default is sub-optimal, we know. It's the long term plan to also provide `simplecov-core` without the HTML or JSON formatters for those who don't need them/for other formatters to rely on.
44
-
45
- ## Enhancements
46
- * `simplecov_json_formatter` included by default ([docs](https://github.com/simplecov-ruby/simplecov#json-formatter)), this should enable the Code Climate test reporter to work again once it's updated
47
- * invalidate internal cache after switching `SimpleCov.root`, should help with some bugs
48
-
49
- 0.19.1 (2020-10-25)
50
- ==========
51
-
52
- ## Bugfixes
53
-
54
- * No more warnings triggered by `enable_for_subprocesses`. Thanks to [@mame](https://github.com/mame)
55
- * Avoid trying to patch `Process.fork` when it isn't available. Thanks to [@MSP-Greg](https://github.com/MSP-Greg)
56
-
57
- 0.19.0 (2020-08-16)
58
- ==========
59
-
60
- ## Breaking Changes
61
- * Dropped support for Ruby 2.4, it reached EOL
62
-
63
- ## Enhancements
64
- * observe forked processes (enable with SimpleCov.enable_for_subprocesses). See [#881](https://github.com/simplecov-ruby/simplecov/pull/881), thanks to [@robotdana](https://github.com/robotdana)
65
- * SimpleCov distinguishes better that it stopped processing because of a previous error vs. SimpleCov is the originator of said error due to coverage requirements.
66
-
67
- ## Bugfixes
68
- * Changing the `SimpleCov.root` combined with the root filtering didn't work. Now they do! Thanks to [@deivid-rodriguez](https://github.com/deivid-rodriguez) and see [#894](https://github.com/simplecov-ruby/simplecov/pull/894)
69
- * in parallel test execution it could happen that the last coverage result was written to disk when it didn't complete yet, changed to only write it once it's the final result
70
- * if you run parallel tests only the final process will report violations of the configured test coverage, not all previous processes
71
- * changed the parallel_tests merging mechanisms to do the waiting always in the last process, should reduce race conditions
72
-
73
- ## Noteworthy
74
- * The repo has moved to https://github.com/simplecov-ruby/simplecov - everything stays the same, redirects should work but you might wanna update anyhow
75
- * The primary development branch is now `main`, not `master` anymore. If you get simplecov directly from github change your reference. For a while `master` will still be occasionally updated but that's no long term solion.
76
-
77
- 0.18.5 (2020-02-25)
78
- ===================
79
-
80
- Can you guess? Another bugfix release!
81
-
82
- ## Bugfixes
83
- * minitest won't crash if SimpleCov isn't loaded - aka don't execute SimpleCov code in the minitest plugin if SimpleCov isn't loaded. Thanks to [@edariedl](https://github.com/edariedl) for the report of the peculiar problem in [#877](https://github.com/simplecov-ruby/simplecov/issues/877).
84
-
85
- 0.18.4 (2020-02-24)
86
- ===================
87
-
88
- Another small bugfix release 🙈 Fixes SimpleCov running with rspec-rails, which was broken due to our fixed minitest integration.
89
-
90
- ## Bugfixes
91
- * SimpleCov will run again correctly when used with rspec-rails. The excellent bug report [#873](https://github.com/simplecov-ruby/simplecov/issues/873) by [@odlp](https://github.com/odlp) perfectly details what went wrong. Thanks to [@adam12](https://github.com/adam12) for the fix [#874](https://github.com/simplecov-ruby/simplecov/pull/874).
92
-
93
-
94
- 0.18.3 (2020-02-23)
95
- ===========
96
-
97
- Small bugfix release. It's especially recommended to upgrade simplecov-html as well because of bugs in the 0.12.0 release.
98
-
99
- ## Bugfixes
100
- * Fix a regression related to file encodings as special characters were missing. Furthermore we now respect the magic `# encoding: ...` comment and read files in the right encoding. Thanks ([@Tietew](https://github.com/Tietew)) - see [#866](https://github.com/simplecov-ruby/simplecov/pull/866)
101
- * Use `Minitest.after_run` hook to trigger post-run hooks if `Minitest` is present. See [#756](https://github.com/simplecov-ruby/simplecov/pull/756) and [#855](https://github.com/simplecov-ruby/simplecov/pull/855) thanks ([@adam12](https://github.com/adam12))
102
-
103
- 0.18.2 (2020-02-12)
104
- ===================
105
-
106
- Small release just to allow you to use the new simplecov-html.
107
-
108
- ## Enhancements
109
- * Relax simplecov-html requirement so that you're able to use [0.12.0](https://github.com/simplecov-ruby/simplecov-html/blob/main/CHANGELOG.md#0120-2020-02-12)
110
-
111
- 0.18.1 (2020-01-31)
112
- ===================
113
-
114
- Small Bugfix release.
115
-
116
- ## Bugfixes
117
- * Just putting `# :nocov:` on top of a file or having an uneven number of them in general works again and acts as if ignoring until the end of the file. See [#846](https://github.com/simplecov-ruby/simplecov/issues/846) and thanks [@DannyBen](https://github.com/DannyBen) for the report.
118
-
119
- 0.18.0 (2020-01-28)
120
- ===================
121
-
122
- Huge release! Highlights are support for branch coverage (Ruby 2.5+) and dropping support for EOL'ed Ruby versions (< 2.4).
123
- Please also read the other beta patch notes.
124
-
125
- You can run with branch coverage by putting `enable_coverage :branch` into your SimpleCov configuration (like the `SimpleCov.start do .. end` block)
126
-
127
- ## Enhancements
128
- * You can now define the minimum expected coverage by criterion like `minimum_coverage line: 90, branch: 80`
129
- * Memoized some internal data structures that didn't change to reduce SimpleCov overhead
130
- * Both `FileList` and `SourceFile` now have a `coverage` method that returns a hash that points from a coverage criterion to a `CoverageStatistics` object for uniform access to overall coverage statistics for both line and branch coverage
131
-
132
- ## Bugfixes
133
- * we were losing precision by rounding the covered strength early, that has been removed. **For Formatters** this also means that you may need to round it yourself now.
134
- * Removed an inconsistency in how we treat skipped vs. irrelevant lines (see [#565](https://github.com/simplecov-ruby/simplecov/issues/565)) - SimpleCov's definition of 100% is now "You covered everything that you could" so if coverage is 0/0 that's counted as a 100% no matter if the lines were irrelevant or ignored/skipped
135
-
136
- ## Noteworthy
137
- * `FileList` stopped inheriting from Array, it includes Enumerable so if you didn't use Array specific methods on it in formatters you should be fine
138
- * We needed to change an internal file format, which we use for merging across processes, to accommodate branch coverage. Sadly CodeClimate chose to use this file to report test coverage. Until a resolution is found the code climate test reporter won't work with SimpleCov for 0.18+, see [this issue on the test reporter](https://github.com/codeclimate/test-reporter/issues/413).
139
-
140
- 0.18.0.beta3 (2020-01-20)
141
- ========================
142
-
143
- ## Enhancements
144
- * Instead of ignoring old `.resultset.json`s that are inside the merge timeout, adapt and respect them
145
-
146
- ## Bugfixes
147
- * Remove the constant warning printing if you still have a `.resultset.json` in pre 0.18 layout that is within your merge timeout
148
-
149
- 0.18.0.beta2 (2020-01-19)
150
- ===================
151
-
152
- ## Enhancements
153
- * only turn on the requested coverage criteria (when activating branch coverage before SimpleCov would also instruct Ruby to take Method coverage)
154
- * Change how branch coverage is displayed, now it's `branch_type: hit_count` which should be more self explanatory. See [#830](https://github.com/simplecov-ruby/simplecov/pull/830) for an example and feel free to give feedback!
155
- * Allow early running exit tasks and avoid the `at_exit` hook through the `SimpleCov.run_exit_tasks!` method. (thanks [@macumber](https://github.com/macumber))
156
- * Allow manual collation of result sets through the `SimpleCov.collate` entrypoint. See the README for more details (thanks [@ticky](https://github.com/ticky))
157
- * Within `case`, even if there is no `else` branch declared show missing coverage for it (aka no branch of it). See [#825](https://github.com/simplecov-ruby/simplecov/pull/825)
158
- * Stop symbolizing all keys when loading cache (should lead to be faster and consume less memory)
159
- * Cache whether we can use/are using branch coverage (should be slightly faster)
160
-
161
- ## Bugfixes
162
- * Fix a crash that happened when an old version of our internal cache file `.resultset.json` was still present
163
-
164
- 0.18.0.beta1 (2020-01-05)
165
- ===================
166
-
167
- This is a huge release highlighted by changing our support for ruby versions to 2.4+ (so things that aren't EOL'ed) and finally adding branch coverage support!
168
-
169
- This release is still beta because we'd love for you to test out branch coverage and get your feedback before doing a full release.
170
-
171
- On a personal note from [@PragTob](https://github.com/PragTob/) thanks to [ruby together](https://rubytogether.org/) for sponsoring this work on SimpleCov making it possible to deliver this and subsequent releases.
172
-
173
- ## Breaking
174
- * Dropped support for all EOL'ed rubies meaning we only support 2.4+. Simplecov can no longer be installed on older rubies, but older simplecov releases should still work. (thanks [@deivid-rodriguez](https://github.com/deivid-rodriguez))
175
- * Dropped the `rake simplecov` task that "magically" integreated with rails. It was always undocumented, caused some issues and [had some issues](https://github.com/simplecov-ruby/simplecov/issues/689#issuecomment-561572327). Use the integration as described in the README please :)
176
-
177
- ## Enhancements
178
-
179
- * Branch coverage is here! Please try it out and test it! You can activate it with `enable_coverage :branch`. See the README for more details. This is thanks to a bunch of people most notably [@som4ik](https://github.com/som4ik), [@tycooon](https://github.com/tycooon), [@stepozer](https://github.com/stepozer), [@klyonrad](https://github.com/klyonrad) and your humble maintainers also contributed ;)
180
- * If the minimum coverage is set to be greater than 100, a warning will be shown. See [#737](https://github.com/simplecov-ruby/simplecov/pull/737) (thanks [@belfazt](https://github.com/belfazt))
181
- * Add a configuration option to disable the printing of non-successful exit statuses. See [#747](https://github.com/simplecov-ruby/simplecov/pull/746) (thanks [@JacobEvelyn](https://github.com/JacobEvelyn))
182
- * Calculating 100% coverage is now stricter, so 100% means 100%. See [#680](https://github.com/simplecov-ruby/simplecov/pull/680) thanks [@gleseur](https://github.com/gleseur)
183
-
184
- ## Bugfixes
185
-
186
- * Add new instance of `Minitest` constant. The `MiniTest` constant (with the capital T) will be removed in the next major release of Minitest. See [#757](https://github.com/simplecov-ruby/simplecov/pull/757) (thanks [@adam12](https://github.com/adam12))
187
-
188
- Older Changelogs
189
- ================
190
-
191
- Looking for older changelogs? Please check the [old Changelog](https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.old.md)
@@ -1,71 +0,0 @@
1
- ## Alternate coverage report formatters
2
-
3
- The community around simplecov provides a whole bunch of alternate formatters beyond the official
4
- [simplecov-html](https://github.com/simplecov-ruby/simplecov-html) gem.
5
-
6
- If you have built or found one that is missing here, please send a Pull Request for this document!
7
-
8
- #### [simplecov-badge](https://github.com/matthew342/simplecov-badge)
9
- *by Matt Hale*
10
-
11
- A formatter that generates a coverage badge for use in your project's readme using ImageMagick.
12
-
13
- #### [simplecov-small-badge](https://github.com/marcgrimme/simplecov-small-badge)
14
- *by Marc Grimme*
15
-
16
- A formatter that generates a small coverage badge for use in your project's readme using the SVG.
17
-
18
- #### [simplecov_badger](https://github.com/traels-it/simplecov_badger)
19
- *by traels.it*
20
-
21
- A formatter that uploads your coverage to a server, that will then host a SVG badge of the score. No need to have the badge stored in repository.
22
-
23
- #### [simplecov-cobertura](https://github.com/dashingrocket/simplecov-cobertura)
24
- *by Jesse Bowes*
25
-
26
- A formatter that generates Cobertura XML.
27
-
28
- #### [simplecov-csv](https://github.com/fguillen/simplecov-csv)
29
- *by Fernando Guillen*
30
-
31
- CSV formatter for SimpleCov
32
-
33
- #### [simplecov-erb](https://github.com/kpaulisse/simplecov-erb)
34
- *by [Kevin Paulisse](https://github.com/kpaulisse)*
35
-
36
- Flexible formatter that generates the output from an ERB template.
37
-
38
- #### [simplecov-json](https://github.com/vicentllongo/simplecov-json)
39
- *by Vicent Llongo*
40
-
41
- JSON formatter for SimpleCov
42
-
43
- #### [simplecov-lcov](https://github.com/fortissimo1997/simplecov-lcov)
44
- *by fortissimo1997*
45
-
46
- lcov formatter for SimpleCov
47
-
48
- #### [simplecov-rcov](https://github.com/fguillen/simplecov-rcov)
49
- *by Fernando Guillen*
50
-
51
- "The target of this formatter is to cheat on Hudson so I can use the Ruby metrics plugin with SimpleCov."
52
-
53
- #### [simplecov-single_file_reporter](https://github.com/grosser/simplecov-single_file_reporter)
54
- *by [Michael Grosser](http://grosser.it)*
55
-
56
- A formatter that prints the coverage of the file under test when you run a single test file.
57
-
58
- #### [simplecov-t_wada](https://github.com/ysksn/simplecov-t_wada)
59
- *by [Yosuke Kabuto](https://github.com/ysksn)*
60
-
61
- t_wada AA formatter for SimpleCov
62
-
63
- #### [simplecov-tailwindcss](https://github.com/chiefpansancolt/simplecov-tailwindcss)
64
- *by [Chiefpansancolt](https://github.com/chiefpansancolt)*
65
-
66
- A TailwindCSS & TailwindUI Designed HTML formatter with clean and easy search of files with a tabular left Navigation.
67
-
68
- #### [simplecov-material](https://github.com/chiefpansancolt/simplecov-material)
69
- *by [Chiefpansancolt](https://github.com/chiefpansancolt)*
70
-
71
- A Material Designed HTML formatter with clean and easy search of files with a tabular left Navigation.
@@ -1,25 +0,0 @@
1
- ## Commercial Services with SimpleCov integration
2
-
3
- There is a bunch of services that offer integration with your existing CI pipeline and SimpleCov coverage
4
- reports. Please note these are not associated with the SimpleCov project itself, so please report problems with
5
- these integrations with their respective owners.
6
-
7
- #### [Codacy](https://github.com/codacy/codacy-coverage-reporter)
8
- *by [Codacy](https://www.codacy.com/)*
9
-
10
- Upload coverage reports to [codacy.com](https://www.codacy.com/), a hosted (or self-hosted) software quality analysis platform that also includes coverage reporting.
11
-
12
- #### [codeclimate](https://github.com/codeclimate/ruby-test-reporter)
13
- *by [Code Climate](https://codeclimate.com/)*
14
-
15
- Upload coverage reports to [codeclimate.com](https://codeclimate.com/), a hosted software quality analysis and that also includes coverage reporting.
16
-
17
- #### [codecov](https://github.com/codecov/codecov-ruby)
18
- *by [Codecov](https://codecov.io/)*
19
-
20
- Upload coverage reports to [codecov.io](https://codecov.io/), a hosted coverage reporting solution.
21
-
22
- #### [coveralls](https://github.com/lemurheavy/coveralls-ruby)
23
- *by [Coveralls](https://coveralls.io/)*
24
-
25
- Upload coverage reports to [coveralls.io](https://coveralls.io/), a hosted coverage reporting solution.
@@ -1,18 +0,0 @@
1
- ## Editor integration
2
-
3
- Some editors have a graphical integration for the simplecov gem.
4
-
5
- #### [Atom Editor: coverage](https://atom.io/packages/coverage)
6
- *by Philip Giuliani*
7
-
8
- Adds an overview of your current test coverage to Atom.
9
-
10
- #### [Sublime Editor: Simple​Cov](https://packagecontrol.io/packages/SimpleCov)
11
- *by sentience*
12
-
13
- Adds in editor live coverage highlighting, status bar coverage information, and summary coverage information.
14
-
15
- #### [cadre](https://github.com/nyarly/cadre)
16
- *by Judson Lester*
17
-
18
- Includes a formatter for Simplecov that emits a Vim script to mark up code files with coverage information.
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module SimpleCov
4
- module Combine
5
- #
6
- # Handle combining two coverage results for same file
7
- #
8
- # Should be called through `SimpleCov.combine`.
9
- module FilesCombiner
10
- module_function
11
-
12
- #
13
- # Combines the results for 2 coverages of a file.
14
- #
15
- # @return [Hash]
16
- #
17
- def combine(coverage_a, coverage_b)
18
- combination = {"lines" => Combine.combine(LinesCombiner, coverage_a["lines"], coverage_b["lines"])}
19
- combination["branches"] = Combine.combine(BranchesCombiner, coverage_a["branches"], coverage_b["branches"]) if SimpleCov.branch_coverage?
20
- combination
21
- end
22
- end
23
- end
24
- end