free_mutant/TODO

43 lines
1.7 KiB
Text
Raw Normal View History

2012-12-19 12:51:41 -05:00
Code:
* Test mutant with dynamically created zombie.
* Break up lib/mutant/mutator/node/send.rb in class specific files
2013-04-20 15:20:17 -04:00
* Log all warnings through reporter, so remove random $stderr.puts calls
2012-12-19 12:51:41 -05:00
Mutations:
* Add true masgn mutations
* Add binary operator specific mutations (YAY, finally reached this point)
2012-12-19 12:51:41 -05:00
* 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.
2012-12-29 08:17:46 -05:00
* Replace nil or add "do not touch me object" to literal mutations.
2012-12-19 12:51:41 -05:00
* Mutate options on Regexp literals
* Add mutations for dynamic regexp symbol and string literals
2012-12-29 08:17:46 -05:00
* Mutate "def foo; bar; end" to "def foo; self; end"?
2013-04-17 23:31:21 -04:00
* 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
2013-04-17 23:31:21 -04:00
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.
2012-12-29 08:17:46 -05:00
Loader:
* Make sure loader does not change visibility of injected mutants
2012-12-19 12:51:41 -05:00
Killers:
2013-01-05 17:00:18 -05:00
* Move test framework specific stuff to strategy
2013-04-17 23:31:21 -04:00
* Add a general master <=> killer IPC interface. So different strategies of isolation
2012-12-19 12:51:41 -05:00
(fork, vs jruby runtime creation) will work without big impact.
2013-01-03 13:15:44 -05:00
Strategy:
2013-01-05 17:00:18 -05:00
* Aggregate warnings on missing spec files
2013-01-03 13:15:44 -05:00
* Provide "expicit files to kill with" strategy
2012-12-19 12:51:41 -05:00
Matcher:
* Allow matches on attr_reader with literal name argument(s)?
* Allow matches on define_method with literal name argument?
jruby-support:
* Create a runtime per mutation to kill mutations in isolation