Commit graph

21 commits

Author SHA1 Message Date
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
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
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
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
Dan Kubb
7293386c26 Add magic encoding header to all ruby files
* rubocop still warns about this on ruby 1.9.3, so it was fixed so
  it produces less output on travis.
2013-07-28 16:03:06 -07:00
Markus Schirp
8a6a51fd08 Add support for --fail-fast flag
* Some long planned runner design changes.
* It now also uses the emitter pattern
2013-07-15 01:17:15 +02:00
Dan Kubb
2c6934f146 Change deprecated mock() to double()
* Fix code alignment
2013-07-14 10:01:30 -07:00
Markus Schirp
47bca3fa1f Correct mutation of adamantium memoized methods 2013-07-05 01:14:05 +02:00
Dan Kubb
84e4add8c2 Fix code alignment in specs 2013-06-25 00:37:45 -07:00
Markus Schirp
151fd08439 Cleanup leaked changes from refactoring 2013-01-14 13:36:26 +01:00
Markus Schirp
e4201b3dfb Update subject specs 2013-01-13 22:32:03 +01:00
Markus Schirp
459d028de1 Add a working mutation tester for mutant
* Expand attr_reader :name, to def name; @name; end
  As attr_reader defined methods do not have a valid source location.
* Expose more internal state to allow the generation of nice match
  identifications. Needs to be cleaned up.
2012-08-20 17:53:41 +02:00
Markus Schirp
42e6fe84e5 Add runner with reporter
* Use MethodObject mixin
* Rename Context::Constant to Context::Scope
* Use Mutation class instead of passing around raw nodes
2012-08-16 04:10:54 +02:00
Markus Schirp
8810c6e009 Rename Mutantee to Subject 2012-08-01 18:34:03 +02:00