Commit graph

29 commits

Author SHA1 Message Date
Markus Schirp
22ac0c8d56 Update anima to ~0.3.0 2015-09-04 20:20:56 +00:00
Markus Schirp
104afe3bcf Fix add into duplicated collection into binary op
* Preference is to not mutate values, even when the mutation appears to
  be "safe" as the mutated value looks "safe". Monkeypatching,
  refactoring whatever in the future can violate what appears to be "safe"
  now.
2015-09-08 17:21:57 +00:00
Markus Schirp
24c113314f Add --since CLI option for repository diff filter
[fix #262]
2015-07-13 01:36:52 +00:00
Markus Schirp
23054e2780 Fix wording in --ignore-subject help description 2015-07-13 17:04:35 +00:00
Markus Schirp
13ada5e6b9 Rename Matcher::Config#subject_ignores to #ignore_expressions 2015-07-07 21:25:48 +00:00
Markus Schirp
d647563055 Refactor expression parsing and representation
* Avoids boot time mutation of REGISTER constant
* Allows to define project specific expression parsing
* Avoids custom (slow) serialization of Expression objects speeding up
  reporter / killer IPC
* Improve specification
* Improve integration API as it now finally references an object the config
* Allow reproduction of syntax from Expression#syntax
* Allow instantiation of Expresssion objects without generating the
  syntax, much nicer for most specs & internal code, avoids generating
  a string to parse it into an expression
* Fix LSP violation in Mutant::Matcher namespace
2015-06-21 14:44:33 +00:00
Markus Schirp
d03e7fbdc2 Change integrations to reference config object
* Future changes depend on this one
* Also fixes the smell of "stateless" integration objects we had in the
  past
2015-06-29 18:39:08 +00:00
Markus Schirp
84073128f4 Remove deprecated --score option 2015-06-13 05:02:16 +00:00
Markus Schirp
64aeb516a0 Fix CLI description for --use 2015-06-13 04:26:08 +00:00
Markus Schirp
5e3e7cf474 Remove broken --code option
[fix #300]
2015-06-13 04:11:19 +00:00
Markus Schirp
d686ca6af8 Introduce --expected-coverage flag
* Deprecates --score
* Allows arbitrary precision for expected coverage input

[fix #323]
2015-05-02 22:15:36 +00:00
Markus Schirp
5202882b0c Kill floats for coverage calculations 2015-03-08 16:18:26 +00:00
Markus Schirp
fac11531a4 Rename Config#matcher_config to #config 2014-12-22 18:27:12 +00:00
Markus Schirp
b65939d527 Move bootstrapping into Env::Bootstrap
* Do not mix concerns of domain with building an object graph concerning
  the domains execution environment
* Removes the amount of clutter in Env (mostly a cleanup for tracing
  where Env will grow a bit)
2014-12-22 15:12:30 +00:00
Markus Schirp
40c337ce5b Fine grained rspec integration
* Flattens the rspec example groups on filtering to remove redundant
  work being done on executing subtrees of already executed example
  groups
* Uses test batching to kill one mutation per isolation that results in
  a significant speedup.
* Drop rspec 2 support.

[closes #256]
2014-12-01 22:43:28 +00:00
Markus Schirp
97530771bf Handle integration load errors with better message
[fixes #269]
2014-11-30 23:22:21 +00:00
Tim Chambers
e90e9e1ea4 Correct miscellaneous typos
Mostly comments
2014-11-22 11:16:07 -08:00
Markus Schirp
4f24280efe Reduce public interface ov Mutant::Env 2014-11-17 20:46:42 +00:00
Markus Schirp
97103b88f4 Revert "Revert "Use threads for parallelization""
This reverts commit 2735221fb5.
2014-09-24 19:57:32 +00:00
Markus Schirp
ac8fe85810 Add output format representation
Upcoming commits will add a progressive reporter that does NOT require a
rewindable output. Usefull for imperfect terminal emulations as on CI
etc.
2014-08-10 22:09:31 +00:00
Markus Schirp
6df5811a87 Use RSpec as receiver for rspec DSL methods
* I dislike the global infection RSpec does. This commit is a first step
  to get a rid of it.
* Also remove the need for `require 'spec_helper` in each spec file with
  adjusting `.rspec`.
2014-08-10 21:04:07 +00:00
Tim Chambers
fe72c94b94 Fix miscellaneous typos
Mostly in comments and documentation, but one method name was corrected to match documentation.
2014-08-07 09:00:31 -07:00
Tim Chambers
9a68d43117 Change test when using Rspec3 to properly match
Hoping this is not an "expect('a').to eql('a')" situation on my part
2014-08-06 08:40:50 -07:00
Markus Schirp
105730f5ba Add parallel runner / reporter 2014-07-17 15:05:57 +00:00
Markus Schirp
609fb3cccb Simplify rspec integration differencies between rspec2 and rspec3 2014-07-12 16:46:10 +00:00
Markus Schirp
c986cedd84 Add specificatin for Mutant::CLI.run under exceptions 2014-07-06 22:33:08 +00:00
Markus Schirp
290b92c6a7 Add specs for Mutant::CLI.run 2014-07-06 22:30:39 +00:00
Markus Schirp
eb5c203d74 Add specs for all CLI flags 2014-07-06 15:00:37 +00:00
Markus Schirp
41d9700473 Refactor runer infrastructure
* Nuke around 800 lock
* Honor LSP with not anymore squeezing something non LSP compatible in
  the same inheritance tree.
* Separate running from result tree.
* Clean up kill logic and early exits on already dead mutations.
* Fix #runnin? smell for reporters.
* Decouple config object from VM state. Makes it serializable to enable
  config loading.
* Fix sequence of global VM events to match PRIOR rspec infects VM with
  gazillions of classes / modules. Thix fixes a startup speed
  degeneration.
* Various fixes to enhance determinism.
* Replace some unneded manual double dispatch with single manual dispatch for
  reporter / runners.
2014-07-05 23:04:38 +00:00