Sha256: 519d1f6e77b51938c754fd197458726e9ad9c9905fca66bbc8055a87eac0ea74

Contents?: true

Size: 1.97 KB

Versions: 3

Compression:

Stored size: 1.97 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 through reporter, so remove random $stderr.puts calls
  * Use rational to represent percent values

AST:
  * Use whitequarcks parser and the to be writte unparser. This fixes all RBX AST issues.

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
  * Binary operator mutations
  * 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.

Kill:
  * Introduce mutant Kill that acts as a DTO between killer and runner. (Simplifies reporting)

Strategy:
  * Aggregate warnings on missing spec files
  * Provide "expicit files to kill with" strategy

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

jruby-support:
  * Use whitequarck parser
  * Create a runtime per mutation to kill mutations in isolation

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
mutant-0.3.0.beta4 TODO
mutant-0.3.0.beta3 TODO
mutant-0.3.0.beta2 TODO