Last active
August 18, 2020 00:18
-
-
Save tomdalling/3f1fc7b2b20c6035023b063e882b3dcc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Mutant environment: | |
Matcher: #<Mutant::Matcher::Config match_expressions: [C]> | |
Integration: rspec | |
Jobs: 8 | |
Includes: [] | |
Requires: ["./c"] | |
Subjects: 1 | |
Total-Tests: 90 | |
Selected-Tests: 1 | |
Tests/Subject: 1.00 avg | |
Mutations: 12 | |
C#to_s:/Users/tom/proj/value_semantics/c.rb:1 | |
- rspec:11:./spec/c_spec.rb:1/C #to_s | |
evil:C#to_s:/Users/tom/proj/value_semantics/c.rb:1:3a20f | |
@@ -1,4 +1,4 @@ | |
def to_s | |
- raise(TypeError, "foo") | |
+ raise(TypeError, self) | |
end | |
----------------------- | |
Killfork exited nonzero. Its result (if any) was ignored. | |
Process status: | |
#<Process::Status: pid 21211 exit 1> | |
Log messages (combined stderr and stdout): | |
/Users/tom/proj/value_semantics/c.rb:4:in `to_s': TypeError | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:180:in `to_s' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:180:in `message' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:180:in `exception_lines' | |
from /Users/tom/.gem/ruby/2.7.1/gems/super_diff-0.5.1/lib/super_diff/rspec/monkey_patches.rb:160:in `failure_line_groups' | |
from /Users/tom/.gem/ruby/2.7.1/gems/super_diff-0.5.1/lib/super_diff/rspec/monkey_patches.rb:106:in `colorized_message_lines' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:243:in `formatted_message_and_backtrace' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:88:in `fully_formatted_lines' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:80:in `fully_formatted' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:200:in `fully_formatted' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:114:in `block in fully_formatted_failed_examples' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:113:in `each' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:113:in `each_with_index' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:113:in `fully_formatted_failed_examples' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_text_formatter.rb:32:in `dump_failures' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:209:in `block in notify' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:208:in `each' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:208:in `notify' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:178:in `block in finish' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:194:in `close_after' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:174:in `finish' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:76:in `report' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:115:in `run_specs' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-rspec-0.9.5/lib/mutant/integration/rspec.rb:63:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:142:in `block in run_mutation_tests' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:171:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `public_send' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `block in initialize' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:81:in `block in start_child' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:80:in `fork' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:80:in `start_child' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:67:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `public_send' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `block in initialize' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:191:in `block (2 levels) in call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:190:in `block in call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:189:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:136:in `run_mutation_tests' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:51:in `kill' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `block in call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `loop' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `call' | |
Killing the mutation resulted in an integration error. | |
This is the case when the tests selected for the current mutation | |
did not produce a test result, but instead an exception was raised. | |
This may point to the following problems: | |
* Bug in mutant | |
* Bug in the ruby interpreter | |
* Bug in your test suite | |
* Bug in your test suite under concurrency | |
The following exception was raised: | |
``` | |
#<ArgumentError: marshal data too short> | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:107:in `load' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:107:in `read_child_result' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:69:in `call' | |
/Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `public_send' | |
/Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `block in initialize' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:191:in `block (2 levels) in call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:190:in `block in call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:189:in `call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:136:in `run_mutation_tests' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:51:in `kill' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `block in call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `loop' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `call' | |
``` | |
----------------------- | |
Mutant environment: | |
Matcher: #<Mutant::Matcher::Config match_expressions: [C]> | |
Integration: rspec | |
Jobs: 8 | |
Includes: [] | |
Requires: ["./c"] | |
Subjects: 1 | |
Total-Tests: 90 | |
Selected-Tests: 1 | |
Tests/Subject: 1.00 avg | |
Mutations: 12 | |
Results: 12 | |
Kills: 11 | |
Alive: 1 | |
Runtime: 0.16s | |
Killtime: 0.62s | |
Overhead: -74.76% | |
Mutations/s: 77.07 | |
Coverage: 91.67% |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Mutant environment: | |
Matcher: #<Mutant::Matcher::Config ignore_expressions: [ValueSemantics::Struct.new] match_expressions: [ValueSemantics*]> | |
Integration: rspec | |
Jobs: 8 | |
Includes: ["lib"] | |
Requires: ["value_semantics"] | |
Subjects: 44 | |
Total-Tests: 89 | |
Selected-Tests: 89 | |
Tests/Subject: 2.02 avg | |
Mutations: 1734 | |
progress: 58/1734 alive: 0 runtime: 1.00s killtime: 5.36s mutations/s: 57.76 | |
progress: 98/1734 alive: 0 runtime: 2.02s killtime: 11.28s mutations/s: 48.56 | |
progress: 155/1734 alive: 0 runtime: 3.03s killtime: 16.59s mutations/s: 51.22 | |
progress: 210/1734 alive: 0 runtime: 4.03s killtime: 20.47s mutations/s: 52.09 | |
progress: 257/1734 alive: 0 runtime: 5.04s killtime: 23.67s mutations/s: 51.01 | |
progress: 299/1734 alive: 0 runtime: 6.04s killtime: 27.27s mutations/s: 49.50 | |
progress: 326/1734 alive: 0 runtime: 7.05s killtime: 31.72s mutations/s: 46.26 | |
progress: 350/1734 alive: 0 runtime: 8.05s killtime: 37.10s mutations/s: 43.47 | |
progress: 379/1734 alive: 0 runtime: 9.06s killtime: 41.46s mutations/s: 41.85 | |
progress: 411/1734 alive: 0 runtime: 10.06s killtime: 45.65s mutations/s: 40.84 | |
progress: 444/1734 alive: 0 runtime: 11.07s killtime: 49.28s mutations/s: 40.11 | |
progress: 464/1734 alive: 0 runtime: 12.07s killtime: 54.29s mutations/s: 38.43 | |
progress: 480/1734 alive: 0 runtime: 13.08s killtime: 59.31s mutations/s: 36.70 | |
progress: 496/1734 alive: 0 runtime: 14.08s killtime: 65.10s mutations/s: 35.22 | |
progress: 517/1734 alive: 0 runtime: 15.09s killtime: 70.56s mutations/s: 34.25 | |
progress: 542/1734 alive: 0 runtime: 16.10s killtime: 74.88s mutations/s: 33.66 | |
progress: 563/1734 alive: 0 runtime: 17.11s killtime: 79.55s mutations/s: 32.91 | |
progress: 591/1734 alive: 0 runtime: 18.12s killtime: 83.01s mutations/s: 32.62 | |
progress: 613/1734 alive: 0 runtime: 19.13s killtime: 86.81s mutations/s: 32.05 | |
progress: 639/1734 alive: 0 runtime: 20.13s killtime: 91.70s mutations/s: 31.74 | |
progress: 666/1734 alive: 0 runtime: 21.14s killtime: 93.98s mutations/s: 31.51 | |
progress: 693/1734 alive: 0 runtime: 22.14s killtime: 97.06s mutations/s: 31.30 | |
progress: 715/1734 alive: 0 runtime: 23.15s killtime: 99.94s mutations/s: 30.89 | |
progress: 738/1734 alive: 0 runtime: 24.15s killtime: 104.29s mutations/s: 30.56 | |
progress: 758/1734 alive: 0 runtime: 25.16s killtime: 107.07s mutations/s: 30.13 | |
progress: 776/1734 alive: 0 runtime: 26.17s killtime: 111.56s mutations/s: 29.66 | |
progress: 796/1734 alive: 0 runtime: 27.17s killtime: 115.20s mutations/s: 29.30 | |
progress: 820/1734 alive: 0 runtime: 28.17s killtime: 117.65s mutations/s: 29.10 | |
progress: 844/1734 alive: 0 runtime: 29.18s killtime: 120.09s mutations/s: 28.93 | |
progress: 860/1734 alive: 0 runtime: 30.19s killtime: 123.39s mutations/s: 28.49 | |
progress: 876/1734 alive: 0 runtime: 31.19s killtime: 127.37s mutations/s: 28.08 | |
progress: 895/1734 alive: 0 runtime: 32.19s killtime: 131.67s mutations/s: 27.80 | |
progress: 915/1734 alive: 0 runtime: 33.20s killtime: 136.30s mutations/s: 27.56 | |
progress: 931/1734 alive: 0 runtime: 34.21s killtime: 140.25s mutations/s: 27.22 | |
progress: 947/1734 alive: 1 runtime: 35.21s killtime: 143.98s mutations/s: 26.90 | |
progress: 961/1734 alive: 1 runtime: 36.21s killtime: 146.87s mutations/s: 26.54 | |
progress: 977/1734 alive: 1 runtime: 37.21s killtime: 148.88s mutations/s: 26.25 | |
progress: 989/1734 alive: 1 runtime: 38.22s killtime: 151.53s mutations/s: 25.88 | |
progress: 999/1734 alive: 1 runtime: 39.23s killtime: 157.01s mutations/s: 25.47 | |
progress: 1020/1734 alive: 1 runtime: 40.23s killtime: 163.50s mutations/s: 25.36 | |
progress: 1040/1734 alive: 1 runtime: 41.23s killtime: 165.94s mutations/s: 25.22 | |
progress: 1054/1734 alive: 1 runtime: 42.24s killtime: 169.21s mutations/s: 24.96 | |
progress: 1068/1734 alive: 1 runtime: 43.24s killtime: 172.81s mutations/s: 24.70 | |
progress: 1080/1734 alive: 1 runtime: 44.26s killtime: 175.69s mutations/s: 24.40 | |
progress: 1095/1734 alive: 1 runtime: 45.26s killtime: 177.44s mutations/s: 24.19 | |
progress: 1110/1734 alive: 1 runtime: 46.27s killtime: 179.48s mutations/s: 23.99 | |
progress: 1126/1734 alive: 1 runtime: 47.28s killtime: 181.45s mutations/s: 23.82 | |
progress: 1141/1734 alive: 1 runtime: 48.28s killtime: 183.83s mutations/s: 23.63 | |
progress: 1162/1734 alive: 1 runtime: 49.29s killtime: 186.76s mutations/s: 23.58 | |
progress: 1177/1734 alive: 1 runtime: 50.29s killtime: 188.93s mutations/s: 23.40 | |
progress: 1186/1734 alive: 1 runtime: 51.31s killtime: 191.40s mutations/s: 23.12 | |
progress: 1197/1734 alive: 1 runtime: 52.31s killtime: 197.29s mutations/s: 22.88 | |
progress: 1209/1734 alive: 1 runtime: 53.32s killtime: 202.62s mutations/s: 22.68 | |
progress: 1220/1734 alive: 1 runtime: 54.32s killtime: 206.80s mutations/s: 22.46 | |
progress: 1235/1734 alive: 1 runtime: 55.33s killtime: 211.14s mutations/s: 22.32 | |
progress: 1250/1734 alive: 1 runtime: 56.33s killtime: 214.48s mutations/s: 22.19 | |
progress: 1265/1734 alive: 1 runtime: 57.33s killtime: 217.77s mutations/s: 22.06 | |
progress: 1281/1734 alive: 1 runtime: 58.34s killtime: 221.59s mutations/s: 21.96 | |
progress: 1297/1734 alive: 1 runtime: 59.34s killtime: 225.70s mutations/s: 21.86 | |
progress: 1313/1734 alive: 1 runtime: 60.34s killtime: 229.12s mutations/s: 21.76 | |
progress: 1324/1734 alive: 1 runtime: 61.34s killtime: 231.77s mutations/s: 21.58 | |
progress: 1337/1734 alive: 1 runtime: 62.35s killtime: 235.18s mutations/s: 21.44 | |
progress: 1353/1734 alive: 1 runtime: 63.36s killtime: 239.21s mutations/s: 21.36 | |
progress: 1367/1734 alive: 1 runtime: 64.36s killtime: 242.73s mutations/s: 21.24 | |
progress: 1383/1734 alive: 1 runtime: 65.37s killtime: 245.39s mutations/s: 21.16 | |
progress: 1398/1734 alive: 1 runtime: 66.37s killtime: 247.25s mutations/s: 21.06 | |
progress: 1412/1734 alive: 1 runtime: 67.38s killtime: 250.53s mutations/s: 20.96 | |
progress: 1427/1734 alive: 1 runtime: 68.39s killtime: 254.04s mutations/s: 20.87 | |
progress: 1441/1734 alive: 1 runtime: 69.40s killtime: 256.68s mutations/s: 20.76 | |
progress: 1459/1734 alive: 1 runtime: 70.40s killtime: 258.46s mutations/s: 20.72 | |
progress: 1475/1734 alive: 1 runtime: 71.40s killtime: 260.75s mutations/s: 20.66 | |
progress: 1486/1734 alive: 1 runtime: 72.41s killtime: 263.80s mutations/s: 20.52 | |
progress: 1498/1734 alive: 1 runtime: 73.41s killtime: 268.62s mutations/s: 20.41 | |
progress: 1507/1734 alive: 1 runtime: 74.42s killtime: 271.09s mutations/s: 20.25 | |
progress: 1523/1734 alive: 1 runtime: 75.42s killtime: 274.84s mutations/s: 20.19 | |
progress: 1535/1734 alive: 1 runtime: 76.43s killtime: 277.63s mutations/s: 20.08 | |
progress: 1547/1734 alive: 1 runtime: 77.44s killtime: 280.44s mutations/s: 19.98 | |
progress: 1559/1734 alive: 1 runtime: 78.44s killtime: 283.01s mutations/s: 19.87 | |
progress: 1572/1734 alive: 1 runtime: 79.45s killtime: 285.95s mutations/s: 19.79 | |
progress: 1583/1734 alive: 1 runtime: 80.45s killtime: 288.66s mutations/s: 19.68 | |
progress: 1596/1734 alive: 1 runtime: 81.46s killtime: 291.94s mutations/s: 19.59 | |
progress: 1607/1734 alive: 1 runtime: 82.46s killtime: 294.58s mutations/s: 19.49 | |
progress: 1620/1734 alive: 1 runtime: 83.47s killtime: 298.09s mutations/s: 19.41 | |
progress: 1632/1734 alive: 1 runtime: 84.47s killtime: 300.88s mutations/s: 19.32 | |
progress: 1644/1734 alive: 1 runtime: 85.47s killtime: 304.03s mutations/s: 19.23 | |
progress: 1657/1734 alive: 1 runtime: 86.48s killtime: 307.37s mutations/s: 19.16 | |
progress: 1669/1734 alive: 1 runtime: 87.48s killtime: 309.75s mutations/s: 19.08 | |
progress: 1683/1734 alive: 1 runtime: 88.49s killtime: 312.05s mutations/s: 19.02 | |
progress: 1695/1734 alive: 1 runtime: 89.49s killtime: 313.89s mutations/s: 18.94 | |
progress: 1707/1734 alive: 1 runtime: 90.49s killtime: 316.70s mutations/s: 18.86 | |
progress: 1718/1734 alive: 1 runtime: 91.50s killtime: 319.13s mutations/s: 18.78 | |
progress: 1732/1734 alive: 1 runtime: 92.50s killtime: 321.12s mutations/s: 18.72 | |
ValueSemantics::DSL#HashOf:/Users/tom/proj/value_semantics/lib/value_semantics.rb:403 | |
- rspec:0:./spec/array_coercer_spec.rb:3/ValueSemantics ValueSemantics::ArrayCoercer is frozen | |
- rspec:1:./spec/array_coercer_spec.rb:7/ValueSemantics ValueSemantics::ArrayCoercer calls #to_a on objects that respond to it | |
- rspec:2:./spec/array_coercer_spec.rb:11/ValueSemantics ValueSemantics::ArrayCoercer does not affect objects that dont respond to #to_a | |
- rspec:3:./spec/array_coercer_spec.rb:18/ValueSemantics ValueSemantics::ArrayCoercer with an element coercer applies the element coercer to each element | |
- rspec:4:./spec/array_of_spec.rb:5/ValueSemantics ValueSemantics::ArrayOf uses the subvalidator for each element in the array | |
- rspec:5:./spec/array_of_spec.rb:10/ValueSemantics ValueSemantics::ArrayOf does not match anything else | |
- rspec:6:./spec/array_of_spec.rb:17/ValueSemantics ValueSemantics::ArrayOf is frozen | |
- rspec:7:./spec/attribute_spec.rb:5/ValueSemantics ValueSemantics::Attribute raises if attempting to use missing default attribute | |
- rspec:8:./spec/attribute_spec.rb:11/ValueSemantics ValueSemantics::Attribute has default attributes | |
- rspec:9:./spec/bool_spec.rb:3/ValueSemantics ValueSemantics::Bool matches true and false | |
- rspec:10:./spec/bool_spec.rb:8/ValueSemantics ValueSemantics::Bool does not match nil or other values | |
- rspec:11:./spec/dsl_spec.rb:5/ValueSemantics ValueSemantics::DSL turns method calls into attributes | |
- rspec:12:./spec/dsl_spec.rb:16/ValueSemantics ValueSemantics::DSL does not interfere with existing methods | |
- rspec:13:./spec/dsl_spec.rb:21/ValueSemantics ValueSemantics::DSL disallows methods that begin with capitals | |
- rspec:14:./spec/either_spec.rb:5/ValueSemantics ValueSemantics::Either matches any of the subvalidators | |
- rspec:15:./spec/either_spec.rb:10/ValueSemantics ValueSemantics::Either does not match anything else | |
- rspec:16:./spec/either_spec.rb:15/ValueSemantics ValueSemantics::Either is frozen | |
- rspec:17:./spec/hash_of_spec.rb:5/ValueSemantics ValueSemantics::HashOf matches empty hashes | |
- rspec:18:./spec/hash_of_spec.rb:9/ValueSemantics ValueSemantics::HashOf matches hashes where the key and value validators also match | |
- rspec:19:./spec/hash_of_spec.rb:13/ValueSemantics ValueSemantics::HashOf does not match hashes where the key validator does not match | |
- rspec:20:./spec/hash_of_spec.rb:17/ValueSemantics ValueSemantics::HashOf does not match hashes where the value validator does not match | |
- rspec:21:./spec/hash_of_spec.rb:21/ValueSemantics ValueSemantics::HashOf does not match anything else | |
- rspec:22:./spec/hash_of_spec.rb:28/ValueSemantics ValueSemantics::HashOf is frozen | |
- rspec:23:./spec/monkey_patch_spec.rb:30/ValueSemantics.monkey_patch! we can patch an unpatch reliably | |
- rspec:24:./spec/monkey_patch_spec.rb:41/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` is disabled by default | |
- rspec:25:./spec/monkey_patch_spec.rb:51/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` when enabled makes `value_semantics` class method available to all classes | |
- rspec:26:./spec/monkey_patch_spec.rb:56/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` when enabled is class-private | |
- rspec:27:./spec/monkey_patch_spec.rb:61/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` when enabled is replaced by the class-public recipe getter after being called | |
- rspec:28:./spec/monkey_patch_spec.rb:66/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` when enabled can not be called twice | |
- rspec:29:./spec/monkey_patch_spec.rb:74/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` when enabled does not affect modules | |
- rspec:30:./spec/monkey_patch_spec.rb:85/ValueSemantics.monkey_patch! using `ValueSemantics.monkey_patch!` when enabled does nothing if enabled multiple times | |
- rspec:31:./spec/monkey_patch_spec.rb:41/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` is disabled by default | |
- rspec:32:./spec/monkey_patch_spec.rb:51/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` when enabled makes `value_semantics` class method available to all classes | |
- rspec:33:./spec/monkey_patch_spec.rb:56/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` when enabled is class-private | |
- rspec:34:./spec/monkey_patch_spec.rb:61/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` when enabled is replaced by the class-public recipe getter after being called | |
- rspec:35:./spec/monkey_patch_spec.rb:66/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` when enabled can not be called twice | |
- rspec:36:./spec/monkey_patch_spec.rb:74/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` when enabled does not affect modules | |
- rspec:37:./spec/monkey_patch_spec.rb:85/ValueSemantics.monkey_patch! using `require 'value_semantics/monkey_patched'` when enabled does nothing if enabled multiple times | |
- rspec:38:./spec/pattern_matching_spec.rb:4/ValueSemantics Pattern matching integration class with ValueSemantics included deconstructs to a hash | |
- rspec:39:./spec/pattern_matching_spec.rb:4/ValueSemantics Pattern matching integration ValueSemantics::Struct class deconstructs to a hash | |
- rspec:40:./spec/struct_spec.rb:10/ValueSemantics ValueSemantics::Struct returns a value class, like Struct.new does | |
- rspec:41:./spec/struct_spec.rb:16/ValueSemantics ValueSemantics::Struct makes instances that work like normal ValueSemantics objects | |
- rspec:42:./spec/value_semantics_spec.rb:429/ValueSemantics has a version number | |
- rspec:43:./spec/value_semantics_spec.rb:19/ValueSemantics initialization supports keyword arguments | |
- rspec:44:./spec/value_semantics_spec.rb:24/ValueSemantics initialization supports Hash arguments | |
- rspec:45:./spec/value_semantics_spec.rb:29/ValueSemantics initialization supports any value that responds to #to_h | |
- rspec:46:./spec/value_semantics_spec.rb:35/ValueSemantics initialization does not mutate hash arguments | |
- rspec:47:./spec/value_semantics_spec.rb:40/ValueSemantics initialization can not be constructed with attributes missing | |
- rspec:48:./spec/value_semantics_spec.rb:47/ValueSemantics initialization can not be constructed with undefined attributes | |
- rspec:49:./spec/value_semantics_spec.rb:56/ValueSemantics initialization can not be constructed with an object that does not respond to #to_h | |
- rspec:50:./spec/value_semantics_spec.rb:66/ValueSemantics initialization does not intercept errors raised from calling #to_h | |
- rspec:51:./spec/value_semantics_spec.rb:75/ValueSemantics basic usage has attr readers and ivars | |
- rspec:52:./spec/value_semantics_spec.rb:83/ValueSemantics basic usage does not define attr writers | |
- rspec:53:./spec/value_semantics_spec.rb:90/ValueSemantics basic usage has square brackets as a variable attr reader | |
- rspec:54:./spec/value_semantics_spec.rb:100/ValueSemantics basic usage can do non-destructive updates | |
- rspec:55:./spec/value_semantics_spec.rb:107/ValueSemantics basic usage can be converted to a hash of attributes | |
- rspec:56:./spec/value_semantics_spec.rb:113/ValueSemantics basic usage has a human-friendly #inspect string | |
- rspec:57:./spec/value_semantics_spec.rb:118/ValueSemantics basic usage has nice pp output | |
- rspec:58:./spec/value_semantics_spec.rb:131/ValueSemantics basic usage has a human-friendly module name | |
- rspec:59:./spec/value_semantics_spec.rb:136/ValueSemantics basic usage has a frozen recipe | |
- rspec:60:./spec/value_semantics_spec.rb:156/ValueSemantics default values uses the default if no value is given | |
- rspec:61:./spec/value_semantics_spec.rb:160/ValueSemantics default values allows the default to be overriden | |
- rspec:62:./spec/value_semantics_spec.rb:164/ValueSemantics default values does not override nil | |
- rspec:63:./spec/value_semantics_spec.rb:168/ValueSemantics default values allows procs as default values | |
- rspec:64:./spec/value_semantics_spec.rb:172/ValueSemantics default values can generate defaults with a proc | |
- rspec:65:./spec/value_semantics_spec.rb:176/ValueSemantics default values does not allow both `default:` and `default_generator:` options | |
- rspec:66:./spec/value_semantics_spec.rb:201/ValueSemantics validation accepts values that pass the validator | |
- rspec:67:./spec/value_semantics_spec.rb:205/ValueSemantics validation rejects values that fail the validator | |
- rspec:68:./spec/value_semantics_spec.rb:221/ValueSemantics equality defines loose equality between subclasses with #=== | |
- rspec:69:./spec/value_semantics_spec.rb:230/ValueSemantics equality defines strict equality with #eql? | |
- rspec:70:./spec/value_semantics_spec.rb:238/ValueSemantics equality allows objects to be used as keys in Hash objects | |
- rspec:71:./spec/value_semantics_spec.rb:246/ValueSemantics equality hashes differently depending on class | |
- rspec:72:./spec/value_semantics_spec.rb:277/ValueSemantics coercion does not call coercion methods by default | |
- rspec:73:./spec/value_semantics_spec.rb:282/ValueSemantics coercion calls a class method when coerce: true | |
- rspec:74:./spec/value_semantics_spec.rb:287/ValueSemantics coercion calls obj.call when coerce: obj | |
- rspec:75:./spec/value_semantics_spec.rb:292/ValueSemantics coercion coerces default values | |
- rspec:76:./spec/value_semantics_spec.rb:297/ValueSemantics coercion performs coercion before validation | |
- rspec:77:./spec/value_semantics_spec.rb:306/ValueSemantics coercion provides a class method for coercing hashes into value objects | |
- rspec:78:./spec/value_semantics_spec.rb:315/ValueSemantics DSL allows attributes to end with punctuation | |
- rspec:79:./spec/value_semantics_spec.rb:328/ValueSemantics DSL has an option for default values | |
- rspec:80:./spec/value_semantics_spec.rb:337/ValueSemantics DSL has a built-in Anything matcher | |
- rspec:81:./spec/value_semantics_spec.rb:346/ValueSemantics DSL has a built-in Bool matcher | |
- rspec:82:./spec/value_semantics_spec.rb:355/ValueSemantics DSL has a built-in Either matcher | |
- rspec:83:./spec/value_semantics_spec.rb:364/ValueSemantics DSL has a built-in ArrayOf matcher | |
- rspec:84:./spec/value_semantics_spec.rb:373/ValueSemantics DSL has a built-in HashOf matcher | |
- rspec:85:./spec/value_semantics_spec.rb:382/ValueSemantics DSL raises ArgumentError if the HashOf argument is wrong | |
- rspec:86:./spec/value_semantics_spec.rb:390/ValueSemantics DSL has an option to call a class method for coercion | |
- rspec:87:./spec/value_semantics_spec.rb:408/ValueSemantics DSL has a built-in ArrayCoercer coercer | |
- rspec:88:./spec/value_semantics_spec.rb:419/ValueSemantics DSL provides a way to define methods whose names are invalid Ruby syntax | |
evil:ValueSemantics::DSL#HashOf:/Users/tom/proj/value_semantics/lib/value_semantics.rb:403:7a29e | |
@@ -1,7 +1,7 @@ | |
def HashOf(key_validator_to_value_validator) | |
unless key_validator_to_value_validator.size.equal?(1) | |
- raise(ArgumentError, "HashOf() takes a hash with one key and one value") | |
+ raise(ArgumentError, self) | |
end | |
HashOf.new(key_validator_to_value_validator.keys.first, key_validator_to_value_validator.values.first) | |
end | |
----------------------- | |
Killfork exited nonzero. Its result (if any) was ignored. | |
Process status: | |
#<Process::Status: pid 23270 exit 1> | |
Log messages (combined stderr and stdout): | |
/Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:54:in `to_s': can't convert ValueSemantics::DSL to String (ValueSemantics::DSL#to_str gives Array) (TypeError) | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:54:in `message' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:54:in `formatted_cause' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:41:in `formatted_backtrace' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:74:in `colorized_formatted_backtrace' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:243:in `formatted_message_and_backtrace' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:88:in `fully_formatted_lines' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/exception_presenter.rb:80:in `fully_formatted' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:200:in `fully_formatted' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:114:in `block in fully_formatted_failed_examples' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:113:in `each' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:113:in `each_with_index' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/notifications.rb:113:in `fully_formatted_failed_examples' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/formatters/base_text_formatter.rb:32:in `dump_failures' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:209:in `block in notify' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:208:in `each' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:208:in `notify' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:178:in `block in finish' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:194:in `close_after' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:174:in `finish' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/reporter.rb:76:in `report' | |
from /Users/tom/.gem/ruby/2.7.1/gems/rspec-core-3.9.2/lib/rspec/core/runner.rb:115:in `run_specs' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-rspec-0.9.5/lib/mutant/integration/rspec.rb:63:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:142:in `block in run_mutation_tests' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:171:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `public_send' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `block in initialize' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:81:in `block in start_child' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:80:in `fork' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:80:in `start_child' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:67:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `public_send' | |
from /Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `block in initialize' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:191:in `block (2 levels) in call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:190:in `block in call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:189:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:136:in `run_mutation_tests' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:51:in `kill' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `block in call' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `loop' | |
from /Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `call' | |
Killing the mutation resulted in an integration error. | |
This is the case when the tests selected for the current mutation | |
did not produce a test result, but instead an exception was raised. | |
This may point to the following problems: | |
* Bug in mutant | |
* Bug in the ruby interpreter | |
* Bug in your test suite | |
* Bug in your test suite under concurrency | |
The following exception was raised: | |
``` | |
#<ArgumentError: marshal data too short> | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:107:in `load' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:107:in `read_child_result' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:69:in `call' | |
/Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `public_send' | |
/Users/tom/.gem/ruby/2.7.1/gems/procto-0.0.3/lib/procto.rb:62:in `block in initialize' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:191:in `block (2 levels) in call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:190:in `block in call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:32:in `block in with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `pipe' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:31:in `with' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/isolation/fork.rb:189:in `call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:136:in `run_mutation_tests' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/env.rb:51:in `kill' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:28:in `block in call' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `loop' | |
/Users/tom/.gem/ruby/2.7.1/gems/mutant-0.9.8/lib/mutant/parallel/worker.rb:23:in `call' | |
``` | |
----------------------- | |
Mutant environment: | |
Matcher: #<Mutant::Matcher::Config ignore_expressions: [ValueSemantics::Struct.new] match_expressions: [ValueSemantics*]> | |
Integration: rspec | |
Jobs: 8 | |
Includes: ["lib"] | |
Requires: ["value_semantics"] | |
Subjects: 44 | |
Total-Tests: 89 | |
Selected-Tests: 89 | |
Tests/Subject: 2.02 avg | |
Mutations: 1734 | |
Results: 1734 | |
Kills: 1733 | |
Alive: 1 | |
Runtime: 92.56s | |
Killtime: 321.56s | |
Overhead: -71.22% | |
Mutations/s: 18.73 | |
Coverage: 99.94% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment