evilution 0.22.2 → 0.22.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a90c882fed4185cf1514efbe1c560e05555efa19a749201e81d9287a65fefef
4
- data.tar.gz: e5c02c5da957d3f9a647fd592b91c4ef82925020d5bb73bd0cde480c1435b26e
3
+ metadata.gz: 05657264e506e5a6b5041d68b5eb46bfcbbf9a17780caeb3c44feaf5f5d18794
4
+ data.tar.gz: a7e6333fc26d21799b3807d3fbc2758ae54e00de2c7f1028e5ad30cf8777e8d2
5
5
  SHA512:
6
- metadata.gz: db0a7c3ac58823326a8fc9d23b41dc928d8b1e45f7230c0c18dcdab133a9ec355d25f9303180043d41e9926387d90335920196b9d8651d0040eedb2982fd3b8c
7
- data.tar.gz: 4a5b241452977ddd620ff4a082013b5ebcb2da3860579349ac58a8ac908d15a09862496e5418038eee52327aa46ccd1aac88ce21bb7d7cd2b7f3f931f2750e0f
6
+ metadata.gz: 8d791eba8e795dcaa34c6ff3cc82a4b9653cfc282fcff1f7a75911bdfbd192689d21324ad793077700644a497c8320b2fb77e874bff63cd98c1a788390a27309
7
+ data.tar.gz: 5ee22113b3b0343c60c08ca4c4c4160492617827376c783fbe0052d5a5a59ab37199fc16de349502c6c7d26f2c64814abf7ad31228e325dcdc1be86e1a7930d7
@@ -16,3 +16,4 @@
16
16
  {"id":"int-427bdc14","kind":"field_change","created_at":"2026-04-10T12:40:12.974701482Z","actor":"Denis Kiselev","issue_id":"EV-k6cz","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Merged as PR #659 — capture error_class and error_backtrace in MutationResult, thread through isolators + runner + JSON reporter, log in --verbose"}}
17
17
  {"id":"int-d3431bcd","kind":"field_change","created_at":"2026-04-12T02:57:43.902279367Z","actor":"Denis Kiselev","issue_id":"EV-86l6","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Closed"}}
18
18
  {"id":"int-f409d79d","kind":"field_change","created_at":"2026-04-12T02:57:44.180309214Z","actor":"Denis Kiselev","issue_id":"EV-o28o","extra":{"field":"status","new_value":"closed","old_value":"in_progress","reason":"Closed"}}
19
+ {"id":"int-ba5d5d3e","kind":"field_change","created_at":"2026-04-12T03:42:58.408103757Z","actor":"Denis Kiselev","issue_id":"EV-1fq8","extra":{"field":"status","new_value":"closed","old_value":"open","reason":"Closed"}}
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.22.3] - 2026-04-12
4
+
5
+ ### Fixed
6
+
7
+ - **`LoadError: cannot load such file -- spec_helper`** — projects with `--require spec_helper` in `.rspec` failed on every mutation because `spec/` was not on `$LOAD_PATH`; RSpec's CLI normally adds it, but evilution calls `RSpec::Core::Runner.run` directly, bypassing the CLI; now adds `spec/` to `$LOAD_PATH` in both `ensure_framework_loaded` and `baseline_runner` (#669)
8
+
3
9
  ## [0.22.2] - 2026-04-12
4
10
 
5
11
  ### Added
@@ -12,6 +12,8 @@ class Evilution::Integration::RSpec < Evilution::Integration::Base
12
12
  def self.baseline_runner
13
13
  lambda { |spec_file|
14
14
  require "rspec/core"
15
+ spec_dir = File.expand_path("spec")
16
+ $LOAD_PATH.unshift(spec_dir) unless $LOAD_PATH.include?(spec_dir)
15
17
  ::RSpec.reset
16
18
  status = ::RSpec::Core::Runner.run(
17
19
  ["--format", "progress", "--no-color", "--order", "defined", spec_file]
@@ -43,6 +45,7 @@ class Evilution::Integration::RSpec < Evilution::Integration::Base
43
45
 
44
46
  fire_hook(:setup_integration_pre, integration: :rspec)
45
47
  require "rspec/core"
48
+ add_spec_load_path
46
49
  Evilution::Integration::CrashDetector.register_with_rspec
47
50
  @rspec_loaded = true
48
51
  fire_hook(:setup_integration_post, integration: :rspec)
@@ -163,4 +166,12 @@ class Evilution::Integration::RSpec < Evilution::Integration::Base
163
166
  warn "[evilution] No matching spec found for #{file_path}, running full suite. " \
164
167
  "Use --spec to specify the spec file."
165
168
  end
169
+
170
+ # RSpec's CLI adds spec/ to $LOAD_PATH so that `--require spec_helper`
171
+ # (commonly in .rspec) resolves. We call Runner.run directly, bypassing
172
+ # the CLI, so we must replicate this.
173
+ def add_spec_load_path
174
+ spec_dir = File.expand_path("spec")
175
+ $LOAD_PATH.unshift(spec_dir) unless $LOAD_PATH.include?(spec_dir)
176
+ end
166
177
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Evilution
4
- VERSION = "0.22.2"
4
+ VERSION = "0.22.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evilution
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.2
4
+ version: 0.22.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Kiselev