Commit graph

21 commits

Author SHA1 Message Date
John Backus
557b9a2585 Add mutation def hi; end -> remove_method :hi
closes #108
2015-08-19 15:08:20 -04: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
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
e08d3b6b80 Use actor based parallelization 2014-11-30 23:11:01 +00:00
Markus Schirp
ae7284f39a Remove warning expectations
* Warnings do not disturb master output anymore as we redirect stderr of
  children to dev null. So the main reason for adding this feature is
  gone. BTW Its planned to capture the stderr of childrens later.
* Warning expectations do not work very well under zombification as line
  numbers change.
2014-11-27 16:37:28 +00:00
Markus Schirp
f172318203 Add specs for Subject::Method::Instance#public? 2014-11-17 21:16:42 +00:00
Markus Schirp
23bf4d2bd6 Fix duplicate emit of neutral mutaiton on memoized instance methods 2014-11-17 21:13:07 +00:00
Markus Schirp
cb814cd529 Fix code style 2014-10-24 21:33:52 +00:00
Markus Schirp
22a8c8f271 Add specification for Subject::Method#match_expressions 2014-10-08 15:16:05 +00:00
Markus Schirp
2f8fb313ad Add specs for Subject::Method#expression 2014-08-11 14:56:39 +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
6b4faeeab8 Add specs for Mutant::Subject::Method::Singletion#public? 2014-08-08 16:42:12 +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
13cd04d9be Introduce AST::Meta to externalize semantic analysis
* Add Mutant::AST namespace to hold all AST related data / helpers.
* Mutant::AST will be externalized into an ast-meta gem that can be
  shared with unparser for deduplication.
* Over the time the mutators itself will not need to deal with semantic
  analysis of the AST anymore by themselves.
* Move AST analysis for send nodes to AST::Meta
* Fix #209
2014-06-29 21:26:58 +00:00
Markus Schirp
85061dee96 Add warning expecatation filter for undef initialize
* Closes #175
2014-04-22 19:00:12 +00:00
Markus Schirp
234fad96f1 Fix whitespace 2014-03-28 15:46:55 +00:00
Markus Schirp
df7de1ee86 Delete memoizer on Subject#prepare 2014-03-28 15:42:46 +00:00
Markus Schirp
15dc96f112 Fix undef before insertion for singleton methods 2014-03-15 17:00:20 +00:00
Markus Schirp
df9207cad4 Undefine methods before loading mutants
* Closes #163
2014-03-14 21:34:51 +00:00
Markus Schirp
2c47c951ec Add missing encoding statements 2013-12-07 19:07:18 +01:00
Markus Schirp
681b51f6ac Fix multiple diff reporter errors on memoizers
Closes #130
2013-10-30 09:08:10 +01:00