Commit graph

14 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
c6299604af Factor out test selection into Mutant::Selector objects
* Overall easier to test
* Reduces the need to pass around config to subjects
* Reduces the diff to tracing branch
2014-12-22 16:02:04 +00:00
Markus Schirp
6f30dbcb39 Add Subject#source_lines 2014-12-07 21:04:33 +00:00
Markus Schirp
88fe09ed92 Add specs for Subject#tests 2014-11-17 21:54:03 +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
Markus Schirp
c638825bd9 Add specs for Subject#prepare 2014-07-06 21:05:05 +00:00
Markus Schirp
473aeace90 Fix neutral/vs noop mutation naming 2014-07-05 23:32:07 +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
86d6a561f8 Fix test selection scope expansion
Restores the pre expression based test selection since the change was
unintentional made.
2014-06-28 22:31:39 +00:00
Markus Schirp
a19f3b1691 Nuke UTF-8 encoding headers
* I do not use 1.9.3
* Also keeping them in each file increases mental overhead (true it *can* be autoamted)
* None of the files encodes NON ASCII chars.
* I do not expect it makes any difference, since nobody programmatically
  will consume strings generated by mutant under the assumption they are UTF-8 encoded.
* 1.9.3 Users have to deal with the encoding fuckup under ruby anyways.
2014-06-09 15:37:48 +00:00
Markus Schirp
5f2965f88c Fix style issues 2014-03-08 18:01:17 +00:00
Markus Schirp
3f61c482c1 Add missing encoding comments 2013-09-14 01:27:00 +02:00
Markus Schirp
49b09eeeac Fix rubocop reported issues
It will take ages till my brain produces 1.9 style syntax :D
2013-09-14 01:17:14 +02:00
Markus Schirp
7bbe86ff95 Add specs for Mutant::Subject#indentification 2013-09-14 01:10:03 +02:00