Commit graph

24 commits

Author SHA1 Message Date
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