Commit graph

25 commits

Author SHA1 Message Date
Markus Schirp
2b620f4889 Add specs for public interface of Mutant::Mutation 2013-09-14 01:01:11 +02:00
Markus Schirp
eaa4451cd9 Remove unused interface
Dunno why I ever merged this. Its IMHO wrong to expose those predicates.
2013-09-06 22:29:31 +02: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
1505a10980 Fix style issues in Mutant::Mutantion* 2013-07-29 00:25:14 +02: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
Jesse Kempf
c923e1b5ed Surface the output of rspec failures when killing noop mutants. 2013-07-25 21:13:29 -07:00
Markus Schirp
5f60e1c23b Clarify FIXME about subject public caching 2013-06-28 17:31:36 +02:00
Markus Schirp
f5f66376f5 Cache subject visibility fixes #53 2013-06-23 22:20:48 +02:00
Markus Schirp
dbc6455ae1 Finish cli reporter refactoring
Readds mutation reporting
2013-06-21 23:52:57 +02:00
Markus Schirp
c2966996dc Use concord to cleanup mutation class 2013-06-14 21:12:10 +02:00
Markus Schirp
6b2e2a8bb0 Initial round of refactoring
* Remove some RBX only nodes
* Register parser types
* Remove all occurences of ::Rubinius when loading libraries
2013-06-14 21:11:54 +02:00
Dan Kubb
4856ed5251 Change sha1 mutation hash to use a separator between strings
* When concatenating strings together to hash you need to use a
  separator that does not exist in the strings, otherwise you can
  easily get duplicate hashes, eg:

    Digest::SHA1.hexdigest('ab' + 'c')  # => "a9993e364706816aba3e25717850c26c9cd0d89d"
    Digest::SHA1.hexdigest('a' + 'bc')  # => "a9993e364706816aba3e25717850c26c9cd0d89d"

  Using a null character as a separator works around this problem:

    Digest::SHA1.hexdigest('a' + 0.chr + 'bc')  # => "0b2749668f0ea8df8a630da13f0d218709efd5ca"
    Digest::SHA1.hexdigest('ab' + 0.chr + 'c')  # => "dbdd4f85d8a56500aa5c9c8a0d456f96280c92e5"
2013-04-17 20:34:24 -07:00
Markus Schirp
d41d7eddb0 Refactor reporter infrastructure 2013-01-15 23:46:05 +01:00
Markus Schirp
eb6ea9a74f Metric driven code refactoring
Break some classes, rename stuff etc.
2013-01-04 22:16:03 +01:00
Markus Schirp
306d4e3225 Correctly set file and line of injected mutants 2012-12-14 19:53:37 +01:00
Markus Schirp
40d5230c68 Introduce noop mutation guards and argument mutators
* Sorry for not splitting up into smaller commit
2012-12-11 00:17:19 +01:00
Markus Schirp
dc083547f5 Connect cli with runner.
Only supports the testing of testapp... but time will come!
2012-11-21 22:28:08 +01:00
Markus Schirp
001f3c7d99 Make mutant run under MRI 1.9.
* Add a Mutant::Loader::Eval that loads code via Kernel#eval
* Move Mutnat::Loader to Mutant::Loader::Rubinius (currently not used)
2012-11-21 20:31:01 +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
61b22c49bf Cleanup Mutant::Mutation interface
* Equalize on sha1
* Expose code (for mutation filters)
* Expose node
2012-08-29 13:33:47 +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
06d66bdd63 Update to source 2012-08-19 23:43:31 +02:00
Markus Schirp
3a2c1ab7b5 Add Mutation class 2012-08-16 04:09:14 +02:00