Markus Schirp
e085e92e1c
Default to forking rspec killer
...
* Also update library require statements
2012-08-28 19:15:10 +02:00
Markus Schirp
28bbf9af00
Remove use of root level namespace within the lib
...
This allows the easy creation of Zombie to mutate Mutant.
2012-08-16 22:59:25 +02:00
Markus Schirp
cee1d3943c
Add colorized diffs to cli reporter
2012-08-16 18:02:03 +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
3a2c1ab7b5
Add Mutation class
2012-08-16 04:09:14 +02:00
Markus Schirp
6ed134ad38
Add method object mixin
2012-08-16 04:07:45 +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
7644a06f33
Add simple mutator for defines
2012-08-14 12:04:48 +02:00
Markus Schirp
fda5d716a4
Add initial rspec2 runner
...
* Needs integration spec!
2012-08-09 19:46:20 +02:00
Markus Schirp
23a04009ce
Use abstract support gem instead of homebrew
...
The support gem is better speced than the homebrew version ever was.
2012-08-03 01:28:15 +02:00
Markus Schirp
51e68800d4
Do not require uncommited code
2012-08-03 00:34:50 +02:00
Markus Schirp
72996901bb
Use immutable support gem
2012-08-03 00:19:01 +02:00
Markus Schirp
b6de7fad91
Add abstract (test) runner
2012-08-01 19:05:34 +02:00
Markus Schirp
8810c6e009
Rename Mutantee to Subject
2012-08-01 18:34:03 +02:00
Markus Schirp
a25f99c97a
Add initial support for mutating case statements
2012-08-01 17:52:12 +02:00
Markus Schirp
00136ab9df
Fix YARD coverage and flay score
2012-08-01 17:03:24 +02:00
Markus Schirp
890f02e7fe
Handle 18 vs 19-mode differencies for if-statement
2012-08-01 16:58:29 +02:00
Markus Schirp
1d85b78f93
Adjust flay score and rename class based on roodi complaint
2012-08-01 16:06:36 +02:00
Markus Schirp
cc811aecf5
Add support for mutating if statements
...
* Also some other minor cleanups
2012-08-01 15:55:49 +02:00
Markus Schirp
bb9809fa39
Reorganize unit specs.
...
* The old nameing did not make any sense. Sorry for not useing git mv.
2012-08-01 14:13:57 +02:00
Markus Schirp
fb7bb942a3
Add mutation of simple send without arguments
...
* Lets the block spec work again as 1.8 and 1.9 mode do not behave
differend as with literals.
2012-08-01 13:53:28 +02:00
Markus Schirp
b9b95ebe94
Break up mutation spec in class specific files
...
* Also add mutation class registry to improve readability.
* Calling mutations are still broken.
2012-08-01 13:27:35 +02:00
Markus Schirp
f318a7a68e
Use to_source and ice_nine
...
* Adding to_source only to gemspec
* Use ice_nine to deep freeze the deep_cloned nodes that are subject of
mutation to prevent bad mutators having a side effect.
2012-07-31 22:01:55 +02:00
Markus Schirp
7f3797ffa1
Introduce Mutant::Random
...
* Cleans up naming duplication from the Mutant.random_* names.
2012-07-31 20:11:37 +02:00
Markus Schirp
ef7516c3a2
Do not require virtus anymore
2012-07-31 19:50:43 +02:00
Markus Schirp
75e6a229f8
Create namespace for literal mutations
...
* Do not follow rubinius names anymore.
An explict declaration now declares a mutator handles
specific AST node.
* Has a nice impact on metrics.
2012-07-31 19:45:46 +02:00
Markus Schirp
3e1f9c408f
Cleanup and dedup mutation generation
...
* Mutator and Generator where merged.
* A single pass over all duplications was made.
* It is clear a specific handles?(node) code for finding mutators
is needed. Like virtus does for attributes, should also cache.
* Does not pass on 1.9 mode currently as blocks are unexpectly parsed
differend when it comes to a series of literal booleans.
2012-07-31 04:00:05 +02:00
Markus Schirp
ef9172bca4
Guard against the generation of equal mutants
...
* Move Mutant::Mutator::Generator in a dedicated file
* Mutant::Mutator::Generator#append only forwards mutated node when it
does not equal original nodes sexpession. This does not catch
equivalent mutations, but mutations that exactly reproduce the same
AST. This way a check for not generating the same asts can be
centralized.
2012-07-30 21:40:49 +02:00
Markus Schirp
564220c453
Correct name of Mutant.random_float
2012-07-29 22:28:30 +02:00
Markus Schirp
0b9b46d12f
Add range literal support
...
* Full of duplication. Will be addressed when all literals are done.
2012-07-28 00:17:00 +02:00
Markus Schirp
9e8b451933
Add mutation for some literals
...
* This is in progress code. The plan is to support all literals before
beginning to cleanup and dedup the mutation generation. Have to
understand the AST and the possible mutations more in depth before
making structural decisions here.
2012-07-27 22:39:31 +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
dc893bfd7d
Progress on method matching
...
* Adjust metrics
* Add initial integration spec on method matching
* Yard and Heckle coverage is at 100% (heckle cov is disputable)
* Rcov does not really make sense as MRI 1.8 cannot reach all code
paths.
2012-07-24 01:41:08 +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