Commit graph

26 commits

Author SHA1 Message Date
Markus Schirp
508c37e747 Workaround visibility change through loader 2012-12-07 17:27:36 +01:00
Markus Schirp
7be00708b6 Improve rspec dm2 strategy
* Expand foo? to foo_predicate_spec.rb
* Expand foo! to foo_bang_spec.rb
* Execute all public method specs on mutation of private method
* Warn on stderr when no spec file was found (better than nothing to be
  iproved later)
2012-12-07 16:57:42 +01:00
Markus Schirp
7a471875fc Publish exit status of CLI runner in executable 2012-11-24 17:36:47 +01:00
Markus Schirp
9d32ddc44f Do not cache asts to fix spec failures with method matching 2012-11-24 16:59:41 +01:00
Markus Schirp
3c1f5b3831 Cache stuff in method matcher => ~20% speedup 2012-11-22 02:50:55 +01:00
Markus Schirp
637ea8a849 Use Adamantium::Flat from mbj/adamantium at configurable-freezers branch 2012-11-03 02:12:33 +01:00
Markus Schirp
ccbe2f6396 Mark failing specs as panding and use attr_reader again 2012-10-26 11:24:29 +02:00
Markus Schirp
7ecf828768 User adamantium (former immutable) 2012-10-15 14:36:19 +02:00
Markus Schirp
586284544a Add equalization on identification string for matchers 2012-08-29 12:44:03 +02: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
583668138e Add mutations on singleton methods
* Fixing singleton matcher to return Rubiniuy::AST::DefineSingleton
  and not Rubinius::AST::DefineSingletonScope
* Adjust counts of runner spec
2012-08-16 19:10:24 +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
d20655f4c2 Add a spike runner 2012-08-14 22:45:34 +02:00
Markus Schirp
c9219b1f1e Add source_path to context state 2012-08-14 12:26:56 +02:00
Markus Schirp
9755009966 Use scope based subclassing pattern 2012-08-09 23:07:22 +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
72996901bb Use immutable support gem 2012-08-03 00:19:01 +02:00
Markus Schirp
8810c6e009 Rename Mutantee to Subject 2012-08-01 18:34:03 +02:00
Markus Schirp
d50ecc483d Cleanup missing whitespace after comma
* There must be a code metric tool helping me in converting my style.
2012-07-31 04:10:37 +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
993f08d975 Remove explict argument to to_enum in method matcher 2012-07-29 22:44:53 +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
d74481b8fb Cleanup whitespace after comma 2012-07-23 23:03:55 +02:00
Markus Schirp
dd34e29ce9 Cleanup classifier method nameing and placement 2012-07-23 22:57:42 +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