henitai 0.1.8 → 0.1.10
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -1
- data/lib/henitai/integration.rb +17 -0
- data/lib/henitai/version.rb +1 -1
- data/sig/henitai.rbs +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a993f2073367de6b25c8fe922a2089f57103d79790c1e9cd95d2ba6b573b3050
|
|
4
|
+
data.tar.gz: d6956c7b23f1ec7cd97773cdd249a2c12b17f75e080cb98092d34049a763c607
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e7a1925ad77b77ac4ed802b3419b15988a436098488a2dfb0ee11f8f930da024bc05a686606ae4e86ba6fd9f36ef4aed19ef8b1e46bef31e143d25ee4dc54ded
|
|
7
|
+
data.tar.gz: f095d945bd5f9313a202db7a6ce3936a69233b47d62b92ec353950857c27d58b75dc8084164383d66558ef2a076c62e2fd53e68621d8b9d95546c6b1114faa73
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.10] - 2026-04-16
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- RuboCop `RSpec/MultipleExpectations` offenses in `coverage_formatter_spec` and
|
|
14
|
+
`per_test_coverage_collector_spec` resolved by splitting each two-assertion
|
|
15
|
+
example into focused single-expectation examples
|
|
16
|
+
|
|
17
|
+
## [0.1.9] - 2026-04-16
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- SimpleCov is now suppressed during Minitest mutant child runs: `SimpleCov.start`
|
|
21
|
+
is turned into a no-op before test files are required, eliminating the
|
|
22
|
+
"Stopped processing SimpleCov as a previous error has been detected" warning
|
|
23
|
+
and avoiding unnecessary coverage instrumentation overhead in every mutant fork
|
|
24
|
+
|
|
10
25
|
## [0.1.8] - 2026-04-16
|
|
11
26
|
|
|
12
27
|
### Added
|
|
@@ -196,7 +211,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
196
211
|
- CLI critical path: `henitai run` now executes the full pipeline, supports `--since`, returns CI-friendly exit codes, and `henitai version` prints `Henitai::VERSION`
|
|
197
212
|
- RSpec per-test coverage output: `henitai/coverage_formatter` now writes `coverage/henitai_per_test.json`
|
|
198
213
|
|
|
199
|
-
[Unreleased]: https://github.com/martinotten/henitai/compare/v0.1.
|
|
214
|
+
[Unreleased]: https://github.com/martinotten/henitai/compare/v0.1.10...HEAD
|
|
215
|
+
[0.1.10]: https://github.com/martinotten/henitai/compare/v0.1.9...v0.1.10
|
|
216
|
+
[0.1.9]: https://github.com/martinotten/henitai/compare/v0.1.8...v0.1.9
|
|
200
217
|
[0.1.8]: https://github.com/martinotten/henitai/compare/v0.1.7...v0.1.8
|
|
201
218
|
[0.1.7]: https://github.com/martinotten/henitai/compare/v0.1.6...v0.1.7
|
|
202
219
|
[0.1.6]: https://github.com/martinotten/henitai/compare/v0.1.5...v0.1.6
|
data/lib/henitai/integration.rb
CHANGED
|
@@ -491,6 +491,12 @@ module Henitai
|
|
|
491
491
|
end
|
|
492
492
|
end
|
|
493
493
|
|
|
494
|
+
# Prepended onto SimpleCov's singleton class to turn start into a no-op
|
|
495
|
+
# during mutant child runs. Using prepend avoids "method redefined" warnings.
|
|
496
|
+
module SimpleCovStartSuppressor
|
|
497
|
+
def start(*_args) = nil
|
|
498
|
+
end
|
|
499
|
+
|
|
494
500
|
# Minitest integration adapter.
|
|
495
501
|
#
|
|
496
502
|
# Coverage formatter injection remains implemented in the RSpec child
|
|
@@ -532,6 +538,7 @@ module Henitai
|
|
|
532
538
|
end
|
|
533
539
|
|
|
534
540
|
def run_tests(test_files)
|
|
541
|
+
suppress_simplecov!
|
|
535
542
|
test_files.each { |file| require File.expand_path(file) }
|
|
536
543
|
# @type var empty_args: Array[String]
|
|
537
544
|
empty_args = []
|
|
@@ -551,6 +558,16 @@ module Henitai
|
|
|
551
558
|
$LOAD_PATH.unshift(test_dir) unless $LOAD_PATH.include?(test_dir)
|
|
552
559
|
end
|
|
553
560
|
|
|
561
|
+
def suppress_simplecov!
|
|
562
|
+
require "simplecov"
|
|
563
|
+
sc = Object.const_get(:SimpleCov) # steep:ignore Ruby::UnknownConstant
|
|
564
|
+
return if sc.singleton_class.ancestors.include?(SimpleCovStartSuppressor)
|
|
565
|
+
|
|
566
|
+
sc.singleton_class.prepend(SimpleCovStartSuppressor)
|
|
567
|
+
rescue LoadError, NameError
|
|
568
|
+
nil
|
|
569
|
+
end
|
|
570
|
+
|
|
554
571
|
def subprocess_env
|
|
555
572
|
env = super
|
|
556
573
|
env["RAILS_ENV"] = "test" unless ENV["RAILS_ENV"] == "test"
|
data/lib/henitai/version.rb
CHANGED
data/sig/henitai.rbs
CHANGED
|
@@ -344,6 +344,10 @@ module Henitai
|
|
|
344
344
|
def expand_candidates: (String, String) -> Array[String]
|
|
345
345
|
end
|
|
346
346
|
|
|
347
|
+
module SimpleCovStartSuppressor
|
|
348
|
+
def start: (*untyped) -> nil
|
|
349
|
+
end
|
|
350
|
+
|
|
347
351
|
class Minitest < Rspec
|
|
348
352
|
def run_mutant: (mutant: Mutant, test_files: Array[String], timeout: Float) -> ScenarioExecutionResult
|
|
349
353
|
def run_suite: (Array[String], ?timeout: Float) -> ScenarioExecutionResult
|
|
@@ -354,6 +358,7 @@ module Henitai
|
|
|
354
358
|
def run_tests: (Array[String]) -> Integer
|
|
355
359
|
def preload_environment: () -> void
|
|
356
360
|
def setup_load_path: () -> void
|
|
361
|
+
def suppress_simplecov!: () -> void
|
|
357
362
|
def subprocess_env: () -> Hash[String, String]
|
|
358
363
|
def cleanup_suite_process: (Integer?, untyped) -> void
|
|
359
364
|
def spec_files: () -> Array[String]
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: henitai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Otten
|
|
@@ -160,7 +160,7 @@ metadata:
|
|
|
160
160
|
changelog_uri: https://github.com/martinotten/henitai/blob/main/CHANGELOG.md
|
|
161
161
|
documentation_uri: https://github.com/martinotten/henitai/blob/main/README.md
|
|
162
162
|
homepage_uri: https://github.com/martinotten/henitai
|
|
163
|
-
source_code_uri: https://github.com/martinotten/henitai/tree/v0.1.
|
|
163
|
+
source_code_uri: https://github.com/martinotten/henitai/tree/v0.1.10
|
|
164
164
|
rubygems_mfa_required: 'true'
|
|
165
165
|
rdoc_options: []
|
|
166
166
|
require_paths:
|