Commit graph

35 commits

Author SHA1 Message Date
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
6950c59604 Use non redundant simplecov matcher 2014-06-05 17:48:39 +00:00
Markus Schirp
4a9ab9340e Define expected mutations with less redundancy
The mutation examples are now introspectable, this allows to render nice
index or performing better automated analysis against the corpus.
2014-06-02 14:05:11 +00:00
Markus Schirp
70796d176c Remove coveralls integration
Does break to often on CI, does not make any sense ot have that noise in
the logs all the time. mutcov.io to the rescue ;)
2014-05-11 16:40:17 +00:00
Markus Schirp
aa0afcd11b Normalize ASTs before mutating spec examples
* Reduces smantically unneded empty begin nodes etc.
* Allows to sharp specs.
2014-04-22 17:04:28 +00:00
Markus Schirp
a3b558bec0 Remove guard via identity
* Simplify spec helper via mutation verifier class
* There was no need to guard via mapped identity anymore.
2014-04-12 01:13:26 +00:00
Markus Schirp
7d1b38f5c4 Use parser-2.1.6 provided NODE_TYPES 2014-03-04 16:46:45 +00:00
Markus Schirp
aa8ac2eb1d Adjust expected coverage score 2014-02-16 22:20:11 +01:00
Markus Schirp
0fe8acc0ad Use morpher predicates for filtering
* Removes Mutant::Predicate
* Simplifies CLI builder logic
* More to come
2014-02-02 22:49:33 +01:00
Markus Schirp
399f352328 Consistently use expect syntax 2014-02-02 22:49:33 +01:00
Markus Schirp
0f8030f85e Use devtools from git again (removes triage) 2013-12-29 23:36:55 +01:00
Markus Schirp
41c69fd214 Use triage (renamed devtools) and synced triage Gemfile 2013-10-13 19:11:49 +02:00
Dan Kubb
e8a8c832e2 Fix rspec configuration to use expect_with, not mock_with 2013-09-09 21:45:39 -07:00
Dan Kubb
911e8756ee Update spec helper to match other ROM-style gems 2013-09-08 22:34:37 -07:00
Dan Kubb
067de67448 Update spec coverage 2013-09-08 22:32:22 -07:00
Markus Schirp
793e1d8080 Adjust minimum coverage
I think the measurement is invalid. Most of the code listed as uncovered is called.
Maybe the coverge is only measured from the integration test.
2013-09-08 23:22:29 +02:00
Dan Kubb
e145352255 Upgrade spec coverage threshold 2013-08-05 00:23:43 -07:00
Dan Kubb
e34ba860cc Update metrics thresholds 2013-07-29 17:40:19 -07:00
Dan Kubb
1a329b63e8 Add coveralls to mutant 2013-07-28 15:44:26 -07:00
Dan Kubb
ee72d6c042 Fix rubocop warnings
* Still a few more to go, but this should be the majority of them
2013-07-28 12:16:45 -07:00
Markus Schirp
9dd098b03f Fix some rubocop reported issues 2013-07-27 12:34:03 +02: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
Markus Schirp
49133680ee Add AST caching for subject matcher
At least this dramatically speeds up unit tests. And this is a good
thing.
2013-06-27 22:18:07 +02:00
Markus Schirp
2d9da54041 Fix begin mutator 2013-06-14 21:11:54 +02:00
Markus Schirp
fca5b8a168 Port method extraction to parser based ast 2013-06-14 21:11:54 +02:00
Markus Schirp
1114a156e5 Use Devtools.init_spec_helper 2013-02-24 19:54:41 +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
cee1d3943c Add colorized diffs to cli reporter 2012-08-16 18:02:03 +02:00
Markus Schirp
d20655f4c2 Add a spike runner 2012-08-14 22:45:34 +02:00
Markus Schirp
23ee68ac1e Rename Runner to Killer
* Add working integration spec for rspec (mutant) killer.
2012-08-14 12:27:56 +02:00
Markus Schirp
9c1d9cfa58 Switch to rspec-2
* One of the main reasons behind mutant was to get a rid of rspec-1.3
  in my toolchain.
* Remove most of mri specific stuff from Gemfile.
* Remove of mri specific taks will happen later, will heckle locally
  with external rspec-1.3 + heckle setup.
* Mutant should be self hosting as fast as possible :P
2012-07-31 00:48:04 +02:00
Markus Schirp
10c3dfc390 Finalize method matching
* Add tests for all edge cases I could create
* Add infrastructure for loading mutations into the vm.
* The fun part is next!
2012-07-26 19:25:23 +02:00
Markus Schirp
df6ccafeab Add method matcher infrastructure
Needs more specs for sure. Especially edge cases.
2012-07-23 22:54:35 +02:00
Markus Schirp
8c1fa8dace Add project infrastructure
* This infrastructure, especially the rake tasks should be
  gemified at some point in the future. I copied exactly the same
  bytes many times in the last month.
2012-07-23 16:37:44 +02:00