Commit graph

24 commits

Author SHA1 Message Date
Tim Chambers
5bb516b184 Correct typos in description 2015-07-15 07:04:45 -07:00
Markus Schirp
8335cccafb Fix YARD summary line
* Reduce redunrant 'Return' prefix on summaries
* Improve summary line to reflect the semantics of operation better
2015-07-03 15:21:39 +00:00
Markus Schirp
4bd15abeb6 Fix positioning of @api YARD tag 2015-07-02 03:35:54 +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
41101e4abe Add support for rspec mutant expression metadata 2015-05-16 23:30:07 +00:00
Markus Schirp
2624e2eb87 Add unit test for rspec integration 2015-05-16 23:23:20 +00:00
Markus Schirp
3e76cdb96f Fix null integration 2015-01-24 23:13:19 +00:00
Markus Schirp
207c159c23 Always build valid result objects
* Before Mutant::Expression was not marshallable resulting in the need
  to build "partial" result objects from killforks.
* Fixes an adjacent bug in spec selection
2014-12-22 17:54:20 +00:00
Markus Schirp
ae65509258 Prevent ignore of metadata duplicates in rspec integration
* Example groups with identical metadata still can represent different
  test cases.
* Using the relative example group index as an additional key resolves
  this.

[fixes #279]
2014-12-21 21:06:04 +00:00
Markus Schirp
af4b543a18 Fix silent exclusion of metadata duplicates in rspec integration 2014-12-21 21:01:49 +00:00
Markus Schirp
84c2f75cf4 Add rspec metadata flag to blacklist an example group from mutation testing 2014-12-13 01:06:04 +00:00
Markus Schirp
5b769ba5ff Remove redundant require 2014-12-03 14:36:39 +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
3654ba010d Remove remaining encoding headers 2014-08-10 21:33:44 +00: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
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
Markus Schirp
652f4080ec Handle collissions in rspec example group to mutant expression mapping 2014-07-02 20:27:04 +00:00
Markus Schirp
4247fcc8ed Remove require for rspec/core/version
Turns out that rspec2 and rspec3 require this on require 'rspec/core'
already.

[Closes #210]
2014-07-02 10:31:31 +00:00
Markus Schirp
afcee32994 Move rspec integration endpoint into mutant/integration/rspec 2014-06-30 13:55:58 +00:00
Markus Schirp
3390d59954 Fix naming of Expression.{try_,}_parse
* try_parse is now the one that does not raise
* parse is now the one that does rase
2014-06-29 23:16:36 +00:00
Markus Schirp
55b93b5d76 Separate rspec2 and rspec3 integrations 2014-06-28 23:54:21 +00:00
Markus Schirp
d1c764a86f Rename strategy to integration 2014-06-28 23:04:18 +00:00