Commit graph

14 commits

Author SHA1 Message Date
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