Sha256: 00cbc7fdb00fd2cd5aec77a91bc8bb3a8926f0d962d5829ed2cab0decb997773

Contents?: true

Size: 1.9 KB

Versions: 6

Compression:

Stored size: 1.9 KB

Contents

Code:
  * Test mutant with dynamically created zombie.
  * Fix ugly code within default parameter mutations
  * Break up lib/mutant/mutator/node/send.rb in class specific files
  * Log all warnings throug reporter, so remove random $stderr.puts calls

AST:
  * Fix the rubinius AST to allow setting @vcall_style variable in Rubinius::AST::Send nodes.

Mutations:
  * Add binary operator specific mutations (YAY, finally reached this point)
  * Add some kind of a "do not touch me object" that raises on all messages.
    It can be used to make sure each literal value is touched.
  * Replace nil or add "do not touch me object" to literal mutations.
  * Mutate options on Regexp literals
  * Add mutations for dynamic regexp symbol and string literals
  * Mutate "def foo; bar; end" to "def foo; self; end"?
  * Emit negative and positive mutations 
  * Mutate Block catch "def foo(&block)" and block pass "foo(&block)"
  * Mutate super arguments just like send arguments
  * Add timeout to terminate infinite loops
   
    Example of a negative mutation:
      Mutations on local variables and arguments prefixed with an underscore would be emitted as
      negative mutations that must be alive.

Loader:
  * Make sure loader does not change visibility of injected mutants

Killers:
  * Move test framework specific stuff to strategy
  * Add a general master <=> killer IPC interface. So different strategies of isolation 
    (fork, vs jruby runtime creation) will work without big impact.

Strategy:
  * Aggregate warnings on missing spec files
  * Provide "expicit files to kill with" strategy
  * Automatically load ./spec/spec_helper.rb for rspec strategies (No need to specify -I and -r anymore)

Matcher:
  * Allow matches on attr_reader with literal name argument(s)?
  * Allow matches on define_method with literal name argument?

jruby-support:
  * Hook melbourne via ffi
  * Create a runtime per mutation to kill mutations in isolation

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mutant-0.2.20 TODO
mutant-0.2.17 TODO
mutant-0.2.16 TODO
mutant-0.2.15 TODO
mutant-0.2.14 TODO
mutant-0.2.13 TODO