Poodle’s Reporters#

           ^\               ARF!    |\|\
 /        //o__o     ARF!          ..    \       .
/\       /  __/           ARF!   o--     \\    / @)
\ \______\  /   ARF!   ARF!       v__///\\\\__/ @
 \         /        ARF!    ARF!    {           }
  \ \----\ \           ARF!          {  } \\\{  }
   \_\_   \_\_   ARF!     ARF!       <_|      <_|

Builtin Reporter Names#

Summary Reporter#

The summary reporter prints a list of basic statistics about the testing.

Example Report:

*** Results Summary ***
Testing found 50.0% of Mutants.
 - 10 mutant(s) were not found.
 - 10 mutant(s) caused trial to timeout.
 - 10 mutant(s) could not be tested due to an error.

Not Found Reporter#

The “Not Found” Reporter prints a list of all mutations that were not found. It includes information about the Mutation, and any error messages generated by the testing tool.

Example Report:

*** Mutants Not Found ***

Mutant Trial Result: Mutant Not Found
Mutator: String
--- /home/runner/work/poodle/poodle/src/poodle/runners/command_line.py
+++ [Mutant] /home/runner/work/poodle/poodle/src/poodle/runners/command_line.py:74
@@ -71,7 +71,7 @@
     return MutantTrialResult(
         passed=True,
         reason_code=MutantTrialResult.RC_OTHER,
-        reason_desc=result.stdout.decode("utf-8", errors="replace")
+        reason_desc=result.stdout.decode("utf-8", errors='XXreplaceXX')
         + "\n"
         + result.stderr.decode("utf-8", errors="replace"),
     )

Options:#

not_found_file#

If specified, not found report is printed to specified file instead of sysout.

Default: None

runner_opts = {
  "not_found_file":"mutation-testing-report.txt",
}
[poodle.runner_opts]
not_found_file = "mutation-testing-report.txt"
[tool.poodle.runner_opts]
not_found_file = "mutation-testing-report.txt"