| 1 |
"""Create Mutants.""" |
|
| 2 | ||
| 3 |
from __future__ import annotations |
|
| 4 | ||
| 5 |
import ast |
|
| 6 |
import logging |
|
| 7 |
import re |
|
| 8 |
from copy import deepcopy |
|
| 9 |
from typing import TYPE_CHECKING, Any, Callable |
|
| 10 | ||
| 11 |
from . import PoodleInputError |
|
| 12 |
from .data_types import FileMutation, Mutant, Mutator, PoodleWork |
|
| 13 |
from .mutators import ( |
|
| 14 |
AugAssignMutator, |
|
| 15 |
BinaryOperationMutator, |
|
| 16 |
ComparisonMutator, |
|
| 17 |
DecoratorMutator, |
|
| 18 |
DictArrayCallMutator, |
|
| 19 |
FunctionCallMutator, |
|
| 20 |
KeywordMutator, |
|
| 21 |
LambdaReturnMutator, |
|
| 22 |
NumberMutator, |
|
| 23 |
ReturnMutator, |
|
| 24 |
StringMutator, |
|
| 25 |
UnaryOperationMutator, |
|
| 26 |
) |
|
| 27 |
from .util import dynamic_import, files_list_for_folder |
|
| 28 | ||
| 29 |
if TYPE_CHECKING: |
|
| 30 |
from pathlib import Path |
|
| 31 | ||
| ▸ | 32 |
logger = logging.getLogger(__name__) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:32
@@ -29,7 +29,7 @@
if TYPE_CHECKING:
from pathlib import Path
-logger = logging.getLogger(__name__)
+logger = None
builtin_mutators = {
BinaryOperationMutator.mutator_name: BinaryOperationMutator,
|
||
| 33 | ||
| 34 |
builtin_mutators = {
|
|
| 35 |
BinaryOperationMutator.mutator_name: BinaryOperationMutator, |
|
| 36 |
AugAssignMutator.mutator_name: AugAssignMutator, |
|
| 37 |
UnaryOperationMutator.mutator_name: UnaryOperationMutator, |
|
| 38 |
ComparisonMutator.mutator_name: ComparisonMutator, |
|
| 39 |
KeywordMutator.mutator_name: KeywordMutator, |
|
| 40 |
NumberMutator.mutator_name: NumberMutator, |
|
| 41 |
StringMutator.mutator_name: StringMutator, |
|
| 42 |
FunctionCallMutator.mutator_name: FunctionCallMutator, |
|
| 43 |
DictArrayCallMutator.mutator_name: DictArrayCallMutator, |
|
| 44 |
LambdaReturnMutator.mutator_name: LambdaReturnMutator, |
|
| 45 |
ReturnMutator.mutator_name: ReturnMutator, |
|
| 46 |
DecoratorMutator.mutator_name: DecoratorMutator, |
|
| 47 |
} |
|
| 48 | ||
| 49 | ||
| 50 |
def initialize_mutators(work: PoodleWork) -> list[Callable | Mutator]: |
|
| 51 |
"""Initialize all mutators from standard list and from config options.""" |
|
| 52 |
mutators: list[Any] = [ |
|
| ▸ | 53 |
mutator for name, mutator in builtin_mutators.items() if name not in work.config.skip_mutators |
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:53
@@ -50,7 +50,7 @@
def initialize_mutators(work: PoodleWork) -> list[Callable | Mutator]:
"""Initialize all mutators from standard list and from config options."""
mutators: list[Any] = [
- mutator for name, mutator in builtin_mutators.items() if name not in work.config.skip_mutators
+ mutator for name, mutator in builtin_mutators.items() if name in work.config.skip_mutators
]
mutators.extend(work.config.add_mutators)
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:53
@@ -50,7 +50,7 @@
def initialize_mutators(work: PoodleWork) -> list[Callable | Mutator]:
"""Initialize all mutators from standard list and from config options."""
mutators: list[Any] = [
- mutator for name, mutator in builtin_mutators.items() if name not in work.config.skip_mutators
+ mutator for name, mutator in None if name not in work.config.skip_mutators
]
mutators.extend(work.config.add_mutators)
|
||
| 54 |
] |
|
| ▸ | 55 |
mutators.extend(work.config.add_mutators) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:55
@@ -52,7 +52,7 @@
mutators: list[Any] = [
mutator for name, mutator in builtin_mutators.items() if name not in work.config.skip_mutators
]
- mutators.extend(work.config.add_mutators)
+ None
return [initialize_mutator(work, mut_def) for mut_def in mutators]
|
||
| 56 | ||
| ▸ | 57 |
return [initialize_mutator(work, mut_def) for mut_def in mutators] |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:57
@@ -54,7 +54,7 @@
]
mutators.extend(work.config.add_mutators)
- return [initialize_mutator(work, mut_def) for mut_def in mutators]
+ return [None for mut_def in mutators]
def initialize_mutator(work: PoodleWork, mutator_def: Any) -> Callable | Mutator: # noqa: ANN401
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:57
@@ -54,7 +54,7 @@
]
mutators.extend(work.config.add_mutators)
- return [initialize_mutator(work, mut_def) for mut_def in mutators]
+ return None
def initialize_mutator(work: PoodleWork, mutator_def: Any) -> Callable | Mutator: # noqa: ANN401
|
||
| 58 | ||
| 59 | ||
| 60 |
def initialize_mutator(work: PoodleWork, mutator_def: Any) -> Callable | Mutator: # noqa: ANN401 |
|
| 61 |
"""Import and initialize a Mutator. |
|
| 62 | ||
| 63 |
mutator_def may be string of object to import, Callable, Mutator subclass or Mutator subclass instance. |
|
| 64 |
""" |
|
| ▸ | 65 |
logger.debug(mutator_def) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:65
@@ -62,7 +62,7 @@
mutator_def may be string of object to import, Callable, Mutator subclass or Mutator subclass instance.
"""
- logger.debug(mutator_def)
+ None
if isinstance(mutator_def, str):
try:
|
||
| 66 | ||
| ▸ | 67 |
if isinstance(mutator_def, str): |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:67
@@ -64,7 +64,7 @@
"""
logger.debug(mutator_def)
- if isinstance(mutator_def, str):
+ if None:
try:
mutator_def = dynamic_import(mutator_def)
except Exception as ex: # noqa: BLE001
|
||
| 68 |
try: |
|
| ▸ | 69 |
mutator_def = dynamic_import(mutator_def) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:69
@@ -66,7 +66,7 @@
if isinstance(mutator_def, str):
try:
- mutator_def = dynamic_import(mutator_def)
+ mutator_def = None
except Exception as ex: # noqa: BLE001
msg = f"Import failed for mutator '{mutator_def}'"
raise PoodleInputError(msg) from ex
|
||
| 70 |
except Exception as ex: # noqa: BLE001 |
|
| ▸ | 71 |
msg = f"Import failed for mutator '{mutator_def}'"
|
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:71
@@ -68,7 +68,7 @@
try:
mutator_def = dynamic_import(mutator_def)
except Exception as ex: # noqa: BLE001
- msg = f"Import failed for mutator '{mutator_def}'"
+ msg = f""XXImport failed for mutator 'XX"{mutator_def}'"
raise PoodleInputError(msg) from ex
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:71
@@ -68,7 +68,7 @@
try:
mutator_def = dynamic_import(mutator_def)
except Exception as ex: # noqa: BLE001
- msg = f"Import failed for mutator '{mutator_def}'"
+ msg = f"Import failed for mutator '{mutator_def}"XX'XX""
raise PoodleInputError(msg) from ex
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
|
||
| ▸ | 72 |
raise PoodleInputError(msg) from ex |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:72
@@ -69,7 +69,7 @@
mutator_def = dynamic_import(mutator_def)
except Exception as ex: # noqa: BLE001
msg = f"Import failed for mutator '{mutator_def}'"
- raise PoodleInputError(msg) from ex
+ raise None from ex
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
return mutator_def(config=work.config, echo=work.echo)
|
||
| 73 | ||
| ▸ | 74 |
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator): |
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:74
@@ -71,7 +71,7 @@
msg = f"Import failed for mutator '{mutator_def}'"
raise PoodleInputError(msg) from ex
- if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
+ if isinstance(mutator_def, type) or issubclass(mutator_def, Mutator):
return mutator_def(config=work.config, echo=work.echo)
if callable(mutator_def) or isinstance(mutator_def, Mutator):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:74
@@ -71,7 +71,7 @@
msg = f"Import failed for mutator '{mutator_def}'"
raise PoodleInputError(msg) from ex
- if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
+ if None and issubclass(mutator_def, Mutator):
return mutator_def(config=work.config, echo=work.echo)
if callable(mutator_def) or isinstance(mutator_def, Mutator):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:74
@@ -71,7 +71,7 @@
msg = f"Import failed for mutator '{mutator_def}'"
raise PoodleInputError(msg) from ex
- if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
+ if isinstance(mutator_def, type) and None:
return mutator_def(config=work.config, echo=work.echo)
if callable(mutator_def) or isinstance(mutator_def, Mutator):
|
||
| ▸ | 75 |
return mutator_def(config=work.config, echo=work.echo) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:75
@@ -72,7 +72,7 @@
raise PoodleInputError(msg) from ex
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
- return mutator_def(config=work.config, echo=work.echo)
+ return None
if callable(mutator_def) or isinstance(mutator_def, Mutator):
return mutator_def
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:75
@@ -72,7 +72,7 @@
raise PoodleInputError(msg) from ex
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
- return mutator_def(config=work.config, echo=work.echo)
+ return None
if callable(mutator_def) or isinstance(mutator_def, Mutator):
return mutator_def
|
||
| 76 | ||
| ▸ | 77 |
if callable(mutator_def) or isinstance(mutator_def, Mutator): |
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:77
@@ -74,7 +74,7 @@
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
return mutator_def(config=work.config, echo=work.echo)
- if callable(mutator_def) or isinstance(mutator_def, Mutator):
+ if callable(mutator_def) and isinstance(mutator_def, Mutator):
return mutator_def
msg = (
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:77
@@ -74,7 +74,7 @@
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
return mutator_def(config=work.config, echo=work.echo)
- if callable(mutator_def) or isinstance(mutator_def, Mutator):
+ if None or isinstance(mutator_def, Mutator):
return mutator_def
msg = (
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:77
@@ -74,7 +74,7 @@
if isinstance(mutator_def, type) and issubclass(mutator_def, Mutator):
return mutator_def(config=work.config, echo=work.echo)
- if callable(mutator_def) or isinstance(mutator_def, Mutator):
+ if callable(mutator_def) or None:
return mutator_def
msg = (
|
||
| ▸ | 78 |
return mutator_def |
|
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:78
@@ -75,7 +75,7 @@
return mutator_def(config=work.config, echo=work.echo)
if callable(mutator_def) or isinstance(mutator_def, Mutator):
- return mutator_def
+ return None
msg = (
f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
|
||
| 79 | ||
| 80 |
msg = ( |
|
| ▸ | 81 |
f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
|
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:81
@@ -78,7 +78,7 @@
return mutator_def
msg = (
- f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
+ f""XXUnable to create mutator 'XX"{mutator_def}' of type={type(mutator_def)}. "
"Expected String, Callable, Mutator subclass or Mutator subclass instance."
)
raise PoodleInputError(msg)
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:81
@@ -78,7 +78,7 @@
return mutator_def
msg = (
- f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
+ f"Unable to create mutator '{mutator_def}"XX' of type=XX"{type(mutator_def)}. "
"Expected String, Callable, Mutator subclass or Mutator subclass instance."
)
raise PoodleInputError(msg)
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:81
@@ -78,8 +78,7 @@
return mutator_def
msg = (
- f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
- "Expected String, Callable, Mutator subclass or Mutator subclass instance."
+ f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}'XX. Expected String, Callable, Mutator subclass or Mutator subclass instance.XX'
)
raise PoodleInputError(msg)
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:81
@@ -78,7 +78,7 @@
return mutator_def
msg = (
- f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
+ f"Unable to create mutator '{mutator_def}' of type={None}. "
"Expected String, Callable, Mutator subclass or Mutator subclass instance."
)
raise PoodleInputError(msg)
|
||
| 82 |
"Expected String, Callable, Mutator subclass or Mutator subclass instance." |
|
| 83 |
) |
|
| ▸ | 84 |
raise PoodleInputError(msg) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:84
@@ -81,7 +81,7 @@
f"Unable to create mutator '{mutator_def}' of type={type(mutator_def)}. "
"Expected String, Callable, Mutator subclass or Mutator subclass instance."
)
- raise PoodleInputError(msg)
+ raise None
def create_mutants_for_all_mutators(work: PoodleWork) -> list[Mutant]:
|
||
| 85 | ||
| 86 | ||
| 87 |
def create_mutants_for_all_mutators(work: PoodleWork) -> list[Mutant]: |
|
| 88 |
"""Create consolidated, flattened list of all mutants to be tried.""" |
|
| ▸ | 89 |
return [ |
|
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:89
@@ -86,16 +86,7 @@
def create_mutants_for_all_mutators(work: PoodleWork) -> list[Mutant]:
"""Create consolidated, flattened list of all mutants to be tried."""
- return [
- mutant
- for folder, files in get_target_files(work).items()
- for file in files
- for mutant in create_mutants_for_file(
- work,
- folder,
- file,
- )
- ]
+ return None
def get_target_files(work: PoodleWork) -> dict[Path, list[Path]]:
|
||
| 90 |
mutant |
|
| ▸ | 91 |
for folder, files in get_target_files(work).items() |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:91
@@ -88,7 +88,7 @@
"""Create consolidated, flattened list of all mutants to be tried."""
return [
mutant
- for folder, files in get_target_files(work).items()
+ for folder, files in None
for file in files
for mutant in create_mutants_for_file(
work,
|
||
| 92 |
for file in files |
|
| ▸ | 93 |
for mutant in create_mutants_for_file( |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:93
@@ -90,11 +90,7 @@
mutant
for folder, files in get_target_files(work).items()
for file in files
- for mutant in create_mutants_for_file(
- work,
- folder,
- file,
- )
+ for mutant in None
]
|
||
| 94 |
work, |
|
| 95 |
folder, |
|
| 96 |
file, |
|
| 97 |
) |
|
| 98 |
] |
|
| 99 | ||
| 100 | ||
| 101 |
def get_target_files(work: PoodleWork) -> dict[Path, list[Path]]: |
|
| 102 |
"""Create mapping from each source folder to all mutable files in that folder.""" |
|
| ▸ | 103 |
logger.debug( |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:103
@@ -100,12 +100,7 @@
def get_target_files(work: PoodleWork) -> dict[Path, list[Path]]:
"""Create mapping from each source folder to all mutable files in that folder."""
- logger.debug(
- "get_target_files source_folders=%s only_files=%s file_filters=%s",
- work.config.source_folders,
- work.config.only_files,
- work.config.source_folders,
- )
+ None
if work.config.only_files:
out: dict[Path, list[Path]] = {}
|
||
| ▸ | 104 |
"get_target_files source_folders=%s only_files=%s file_filters=%s", |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:104
@@ -101,7 +101,7 @@
def get_target_files(work: PoodleWork) -> dict[Path, list[Path]]:
"""Create mapping from each source folder to all mutable files in that folder."""
logger.debug(
- "get_target_files source_folders=%s only_files=%s file_filters=%s",
+ 'XXget_target_files source_folders=%s only_files=%s file_filters=%sXX',
work.config.source_folders,
work.config.only_files,
work.config.source_folders,
|
||
| 105 |
work.config.source_folders, |
|
| 106 |
work.config.only_files, |
|
| 107 |
work.config.source_folders, |
|
| 108 |
) |
|
| 109 | ||
| 110 |
if work.config.only_files: |
|
| 111 |
out: dict[Path, list[Path]] = {}
|
|
| 112 |
for folder in work.config.source_folders: |
|
| ▸ | 113 |
out[folder] = [] |
|
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:113
@@ -110,7 +110,7 @@
if work.config.only_files:
out: dict[Path, list[Path]] = {}
for folder in work.config.source_folders:
- out[folder] = []
+ None = []
for glob in work.config.only_files:
out[folder] += files_list_for_folder(
folder=folder,
|
||
| 114 |
for glob in work.config.only_files: |
|
| ▸ | 115 |
out[folder] += files_list_for_folder( |
|
Status: Mutant Found Mutator Name: AugAssign Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:115
@@ -112,12 +112,7 @@
for folder in work.config.source_folders:
out[folder] = []
for glob in work.config.only_files:
- out[folder] += files_list_for_folder(
- folder=folder,
- match_glob=glob,
- flags=work.config.file_flags,
- filter_globs=[],
- )
+ out[folder] = files_list_for_folder(folder=folder, match_glob=glob, flags=work.config.file_flags, filter_globs=[])
return out
return {
folder: files_list_for_folder(
Status: Mutant Found Mutator Name: AugAssign Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:115
@@ -112,12 +112,7 @@
for folder in work.config.source_folders:
out[folder] = []
for glob in work.config.only_files:
- out[folder] += files_list_for_folder(
- folder=folder,
- match_glob=glob,
- flags=work.config.file_flags,
- filter_globs=[],
- )
+ out[folder] -= files_list_for_folder(folder=folder, match_glob=glob, flags=work.config.file_flags, filter_globs=[])
return out
return {
folder: files_list_for_folder(
Status: Mutant Found Mutator Name: AugAssign Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:115
@@ -112,12 +112,7 @@
for folder in work.config.source_folders:
out[folder] = []
for glob in work.config.only_files:
- out[folder] += files_list_for_folder(
- folder=folder,
- match_glob=glob,
- flags=work.config.file_flags,
- filter_globs=[],
- )
+ out[folder] *= files_list_for_folder(folder=folder, match_glob=glob, flags=work.config.file_flags, filter_globs=[])
return out
return {
folder: files_list_for_folder(
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:115
@@ -112,12 +112,7 @@
for folder in work.config.source_folders:
out[folder] = []
for glob in work.config.only_files:
- out[folder] += files_list_for_folder(
- folder=folder,
- match_glob=glob,
- flags=work.config.file_flags,
- filter_globs=[],
- )
+ out[folder] += None
return out
return {
folder: files_list_for_folder(
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:115
@@ -112,7 +112,7 @@
for folder in work.config.source_folders:
out[folder] = []
for glob in work.config.only_files:
- out[folder] += files_list_for_folder(
+ None += files_list_for_folder(
folder=folder,
match_glob=glob,
flags=work.config.file_flags,
|
||
| 116 |
folder=folder, |
|
| 117 |
match_glob=glob, |
|
| 118 |
flags=work.config.file_flags, |
|
| 119 |
filter_globs=[], |
|
| 120 |
) |
|
| ▸ | 121 |
return out |
|
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:121
@@ -118,7 +118,7 @@
flags=work.config.file_flags,
filter_globs=[],
)
- return out
+ return None
return {
folder: files_list_for_folder(
folder=folder,
|
||
| ▸ | 122 |
return {
|
|
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:122
@@ -119,15 +119,7 @@
filter_globs=[],
)
return out
- return {
- folder: files_list_for_folder(
- folder=folder,
- match_glob="*.py",
- flags=work.config.file_flags,
- filter_globs=work.config.file_filters,
- )
- for folder in work.config.source_folders
- }
+ return None
def create_mutants_for_file(work: PoodleWork, folder: Path, file: Path) -> list[Mutant]:
|
||
| ▸ | 123 |
folder: files_list_for_folder( |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:123
@@ -120,12 +120,7 @@
)
return out
return {
- folder: files_list_for_folder(
- folder=folder,
- match_glob="*.py",
- flags=work.config.file_flags,
- filter_globs=work.config.file_filters,
- )
+ folder: None
for folder in work.config.source_folders
}
|
||
| 124 |
folder=folder, |
|
| ▸ | 125 |
match_glob="*.py", |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:125
@@ -122,7 +122,7 @@
return {
folder: files_list_for_folder(
folder=folder,
- match_glob="*.py",
+ match_glob='XX*.pyXX',
flags=work.config.file_flags,
filter_globs=work.config.file_filters,
)
|
||
| 126 |
flags=work.config.file_flags, |
|
| 127 |
filter_globs=work.config.file_filters, |
|
| 128 |
) |
|
| 129 |
for folder in work.config.source_folders |
|
| 130 |
} |
|
| 131 | ||
| 132 | ||
| 133 |
def create_mutants_for_file(work: PoodleWork, folder: Path, file: Path) -> list[Mutant]: |
|
| 134 |
"""Create all mutants for specified file. |
|
| 135 | ||
| 136 |
* Parse ast from file. |
|
| 137 |
* Pass file ast to all mutators. |
|
| 138 |
* Apply Filters. |
|
| 139 |
* Compile list of Mutants. |
|
| 140 |
""" |
|
| ▸ | 141 |
logger.debug("Create Mutants for file %s", file)
|
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:141
@@ -138,7 +138,7 @@
* Apply Filters.
* Compile list of Mutants.
"""
- logger.debug("Create Mutants for file %s", file)
+ logger.debug('XXCreate Mutants for file %sXX', file)
parsed_ast = ast.parse(file.read_bytes(), file)
file_lines = file.read_text("utf-8").splitlines()
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:141
@@ -138,7 +138,7 @@
* Apply Filters.
* Compile list of Mutants.
"""
- logger.debug("Create Mutants for file %s", file)
+ None
parsed_ast = ast.parse(file.read_bytes(), file)
file_lines = file.read_text("utf-8").splitlines()
|
||
| 142 | ||
| ▸ | 143 |
parsed_ast = ast.parse(file.read_bytes(), file) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:143
@@ -140,7 +140,7 @@
"""
logger.debug("Create Mutants for file %s", file)
- parsed_ast = ast.parse(file.read_bytes(), file)
+ parsed_ast = None
file_lines = file.read_text("utf-8").splitlines()
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
|
||
| ▸ | 144 |
file_lines = file.read_text("utf-8").splitlines()
|
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:144
@@ -141,7 +141,7 @@
logger.debug("Create Mutants for file %s", file)
parsed_ast = ast.parse(file.read_bytes(), file)
- file_lines = file.read_text("utf-8").splitlines()
+ file_lines = file.read_text('XXutf-8XX').splitlines()
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
if isinstance(mutator, Mutator):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:144
@@ -141,7 +141,7 @@
logger.debug("Create Mutants for file %s", file)
parsed_ast = ast.parse(file.read_bytes(), file)
- file_lines = file.read_text("utf-8").splitlines()
+ file_lines = None
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
if isinstance(mutator, Mutator):
|
||
| 145 | ||
| 146 |
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]: |
|
| ▸ | 147 |
if isinstance(mutator, Mutator): |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:147
@@ -144,7 +144,7 @@
file_lines = file.read_text("utf-8").splitlines()
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
- if isinstance(mutator, Mutator):
+ if None:
return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
|
||
| ▸ | 148 |
return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines)) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:148
@@ -145,7 +145,7 @@
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
if isinstance(mutator, Mutator):
- return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
+ return None
return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators]
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:148
@@ -145,7 +145,7 @@
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
if isinstance(mutator, Mutator):
- return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
+ return None
return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators]
|
||
| ▸ | 149 |
return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines)) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:149
@@ -146,7 +146,7 @@
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
if isinstance(mutator, Mutator):
return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
- return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
+ return None
mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators]
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list]
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:149
@@ -146,7 +146,7 @@
def call_mutator(mutator: Callable | Mutator) -> list[FileMutation]:
if isinstance(mutator, Mutator):
return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
- return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
+ return None
mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators]
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list]
|
||
| 150 | ||
| ▸ | 151 |
mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators] |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:151
@@ -148,7 +148,7 @@
return mutator.create_mutations(parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
return mutator(config=work.config, parsed_ast=deepcopy(parsed_ast), file_lines=deepcopy(file_lines))
- mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators]
+ mutant_nested_list = [None for mutator in work.mutators]
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list]
line_filters = parse_filters(file_lines)
|
||
| 152 |
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list] |
|
| 153 | ||
| ▸ | 154 |
line_filters = parse_filters(file_lines) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:154
@@ -151,7 +151,7 @@
mutant_nested_list = [call_mutator(mutator) for mutator in work.mutators]
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list]
- line_filters = parse_filters(file_lines)
+ line_filters = None
file_mutants = [mut for mut in file_mutants if not is_filtered(line_filters, mut)]
return [Mutant(source_folder=folder, source_file=file, **vars(file_mutant)) for file_mutant in file_mutants]
|
||
| ▸ | 155 |
file_mutants = [mut for mut in file_mutants if not is_filtered(line_filters, mut)] |
|
Status: Mutant Found Mutator Name: UnaryOp Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:155
@@ -152,7 +152,7 @@
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list]
line_filters = parse_filters(file_lines)
- file_mutants = [mut for mut in file_mutants if not is_filtered(line_filters, mut)]
+ file_mutants = [mut for mut in file_mutants if is_filtered(line_filters, mut)]
return [Mutant(source_folder=folder, source_file=file, **vars(file_mutant)) for file_mutant in file_mutants]
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:155
@@ -152,7 +152,7 @@
file_mutants = [mutant for mutant_list in mutant_nested_list if mutant_list for mutant in mutant_list]
line_filters = parse_filters(file_lines)
- file_mutants = [mut for mut in file_mutants if not is_filtered(line_filters, mut)]
+ file_mutants = [mut for mut in file_mutants if not None]
return [Mutant(source_folder=folder, source_file=file, **vars(file_mutant)) for file_mutant in file_mutants]
|
||
| 156 | ||
| ▸ | 157 |
return [Mutant(source_folder=folder, source_file=file, **vars(file_mutant)) for file_mutant in file_mutants] |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:157
@@ -154,7 +154,7 @@
line_filters = parse_filters(file_lines)
file_mutants = [mut for mut in file_mutants if not is_filtered(line_filters, mut)]
- return [Mutant(source_folder=folder, source_file=file, **vars(file_mutant)) for file_mutant in file_mutants]
+ return [None for file_mutant in file_mutants]
def parse_filters(file_lines: list[str]) -> dict[int, set[str]]:
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:157
@@ -154,7 +154,7 @@
line_filters = parse_filters(file_lines)
file_mutants = [mut for mut in file_mutants if not is_filtered(line_filters, mut)]
- return [Mutant(source_folder=folder, source_file=file, **vars(file_mutant)) for file_mutant in file_mutants]
+ return None
def parse_filters(file_lines: list[str]) -> dict[int, set[str]]:
|
||
| 158 | ||
| 159 | ||
| 160 |
def parse_filters(file_lines: list[str]) -> dict[int, set[str]]: |
|
| 161 |
r"""Parse text for comments to filter mutations. |
|
| 162 | ||
| 163 |
Block all mutations: |
|
| 164 | ||
| 165 |
\# pragma: no mutate |
|
| 166 | ||
| 167 |
\# nomut |
|
| 168 | ||
| 169 |
\# nomut: start |
|
| 170 | ||
| 171 |
\# nomut: end |
|
| 172 | ||
| 173 |
Block only specific mutations: |
|
| 174 | ||
| 175 |
\# nomut: mutator,mutator |
|
| 176 |
""" |
|
| 177 |
line_filters: dict[int, set[str]] = {}
|
|
| 178 | ||
| ▸ | 179 |
no_mut_on = False |
|
Status: Mutant Found Mutator Name: Keyword Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:179
@@ -176,7 +176,7 @@
"""
line_filters: dict[int, set[str]] = {}
- no_mut_on = False
+ no_mut_on = True
for lineno, line in enumerate(file_lines, start=1):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
|
||
| 180 | ||
| ▸ | 181 |
for lineno, line in enumerate(file_lines, start=1): |
|
Status: Mutant Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:181
@@ -178,7 +178,7 @@
no_mut_on = False
- for lineno, line in enumerate(file_lines, start=1):
+ for lineno, line in enumerate(file_lines, start=2):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
Status: Mutant Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:181
@@ -178,7 +178,7 @@
no_mut_on = False
- for lineno, line in enumerate(file_lines, start=1):
+ for lineno, line in enumerate(file_lines, start=0):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:181
@@ -178,7 +178,7 @@
no_mut_on = False
- for lineno, line in enumerate(file_lines, start=1):
+ for lineno, line in None:
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
|
||
| ▸ | 182 |
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line): |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:182
@@ -179,7 +179,7 @@
no_mut_on = False
for lineno, line in enumerate(file_lines, start=1):
- if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
+ if re.search('XX#\\s*pragma:\\s*no mutate[\\s#$]*XX', line):
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:182
@@ -179,7 +179,7 @@
no_mut_on = False
for lineno, line in enumerate(file_lines, start=1):
- if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
+ if None:
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
|
||
| ▸ | 183 |
add_line_filter(line_filters, lineno, "all") |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:183
@@ -180,7 +180,7 @@
for lineno, line in enumerate(file_lines, start=1):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
- add_line_filter(line_filters, lineno, "all")
+ add_line_filter(line_filters, lineno, 'XXallXX')
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:183
@@ -180,7 +180,7 @@
for lineno, line in enumerate(file_lines, start=1):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
- add_line_filter(line_filters, lineno, "all")
+ None
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
|
||
| ▸ | 184 |
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line) |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:184
@@ -181,7 +181,7 @@
for lineno, line in enumerate(file_lines, start=1):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
add_line_filter(line_filters, lineno, "all")
- no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
+ no_mut_filter: list[str] = re.findall('XX#\\s*nomut:?\\s*([A-Za-z0-9,\\s]*)[#$]*XX', line)
if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
no_mut_on = True
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:184
@@ -181,7 +181,7 @@
for lineno, line in enumerate(file_lines, start=1):
if re.search(r"#\s*pragma:\s*no mutate[\s#$]*", line):
add_line_filter(line_filters, lineno, "all")
- no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
+ no_mut_filter: list[str] = None
if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
no_mut_on = True
|
||
| 185 | ||
| ▸ | 186 |
if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
|
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter or no_mut_filter[0].strip().lower() in ('start', 'on'):
no_mut_on = True
if no_mut_on:
Status: Mutant Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter and no_mut_filter[1].strip().lower() in ("start", "on"):
no_mut_on = True
if no_mut_on:
Status: Mutant Not Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter and no_mut_filter[-1].strip().lower() in ("start", "on"):
no_mut_on = True
if no_mut_on:
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter and no_mut_filter[0].strip().lower() in ('XXstartXX', "on"):
no_mut_on = True
if no_mut_on:
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", 'XXonXX'):
no_mut_on = True
if no_mut_on:
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter and None in ("start", "on"):
no_mut_on = True
if no_mut_on:
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:186
@@ -183,7 +183,7 @@
add_line_filter(line_filters, lineno, "all")
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
+ if no_mut_filter and None.strip().lower() in ("start", "on"):
no_mut_on = True
if no_mut_on:
|
||
| ▸ | 187 |
no_mut_on = True |
|
Status: Mutant Found Mutator Name: Keyword Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:187
@@ -184,7 +184,7 @@
no_mut_filter: list[str] = re.findall(r"#\s*nomut:?\s*([A-Za-z0-9,\s]*)[#$]*", line)
if no_mut_filter and no_mut_filter[0].strip().lower() in ("start", "on"):
- no_mut_on = True
+ no_mut_on = False
if no_mut_on:
add_line_filter(line_filters, lineno, "all")
|
||
| 188 | ||
| 189 |
if no_mut_on: |
|
| ▸ | 190 |
add_line_filter(line_filters, lineno, "all") |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:190
@@ -187,7 +187,7 @@
no_mut_on = True
if no_mut_on:
- add_line_filter(line_filters, lineno, "all")
+ add_line_filter(line_filters, lineno, 'XXallXX')
else:
for mutators in no_mut_filter:
for mutator in mutators.split(","):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:190
@@ -187,7 +187,7 @@
no_mut_on = True
if no_mut_on:
- add_line_filter(line_filters, lineno, "all")
+ None
else:
for mutators in no_mut_filter:
for mutator in mutators.split(","):
|
||
| 191 |
else: |
|
| 192 |
for mutators in no_mut_filter: |
|
| ▸ | 193 |
for mutator in mutators.split(","):
|
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:193
@@ -190,7 +190,7 @@
add_line_filter(line_filters, lineno, "all")
else:
for mutators in no_mut_filter:
- for mutator in mutators.split(","):
+ for mutator in mutators.split('XX,XX'):
add_line_filter(line_filters, lineno, mutator.strip())
if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:193
@@ -190,7 +190,7 @@
add_line_filter(line_filters, lineno, "all")
else:
for mutators in no_mut_filter:
- for mutator in mutators.split(","):
+ for mutator in None:
add_line_filter(line_filters, lineno, mutator.strip())
if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
|
||
| ▸ | 194 |
add_line_filter(line_filters, lineno, mutator.strip()) |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:194
@@ -191,7 +191,7 @@
else:
for mutators in no_mut_filter:
for mutator in mutators.split(","):
- add_line_filter(line_filters, lineno, mutator.strip())
+ None
if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
no_mut_on = False
|
||
| 195 | ||
| ▸ | 196 |
if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
|
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter or no_mut_filter[0].strip().lower() in ('end', 'off'):
no_mut_on = False
return line_filters
Status: Mutant Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter and no_mut_filter[1].strip().lower() in ("end", "off"):
no_mut_on = False
return line_filters
Status: Mutant Not Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter and no_mut_filter[-1].strip().lower() in ("end", "off"):
no_mut_on = False
return line_filters
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter and no_mut_filter[0].strip().lower() in ('XXendXX', "off"):
no_mut_on = False
return line_filters
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", 'XXoffXX'):
no_mut_on = False
return line_filters
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter and None in ("end", "off"):
no_mut_on = False
return line_filters
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:196
@@ -193,7 +193,7 @@
for mutator in mutators.split(","):
add_line_filter(line_filters, lineno, mutator.strip())
- if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
+ if no_mut_filter and None.strip().lower() in ("end", "off"):
no_mut_on = False
return line_filters
|
||
| ▸ | 197 |
no_mut_on = False |
|
Status: Mutant Found Mutator Name: Keyword Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:197
@@ -194,7 +194,7 @@
add_line_filter(line_filters, lineno, mutator.strip())
if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
- no_mut_on = False
+ no_mut_on = True
return line_filters
|
||
| 198 | ||
| ▸ | 199 |
return line_filters |
|
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:199
@@ -196,7 +196,7 @@
if no_mut_filter and no_mut_filter[0].strip().lower() in ("end", "off"):
no_mut_on = False
- return line_filters
+ return None
def add_line_filter(line_filters: dict[int, set[str]], lineno: int, mutator: str) -> None:
|
||
| 200 | ||
| 201 | ||
| 202 |
def add_line_filter(line_filters: dict[int, set[str]], lineno: int, mutator: str) -> None: |
|
| 203 |
"""Add filter to line_filters dict.""" |
|
| ▸ | 204 |
if lineno not in line_filters: |
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:204
@@ -201,7 +201,7 @@
def add_line_filter(line_filters: dict[int, set[str]], lineno: int, mutator: str) -> None:
"""Add filter to line_filters dict."""
- if lineno not in line_filters:
+ if lineno in line_filters:
line_filters[lineno] = set()
line_filters[lineno].add("all" if mutator == "" else mutator.lower())
|
||
| ▸ | 205 |
line_filters[lineno] = set() |
|
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:205
@@ -202,7 +202,7 @@
def add_line_filter(line_filters: dict[int, set[str]], lineno: int, mutator: str) -> None:
"""Add filter to line_filters dict."""
if lineno not in line_filters:
- line_filters[lineno] = set()
+ line_filters[lineno] = None
line_filters[lineno].add("all" if mutator == "" else mutator.lower())
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:205
@@ -202,7 +202,7 @@
def add_line_filter(line_filters: dict[int, set[str]], lineno: int, mutator: str) -> None:
"""Add filter to line_filters dict."""
if lineno not in line_filters:
- line_filters[lineno] = set()
+ None = set()
line_filters[lineno].add("all" if mutator == "" else mutator.lower())
|
||
| ▸ | 206 |
line_filters[lineno].add("all" if mutator == "" else mutator.lower())
|
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:206
@@ -203,7 +203,7 @@
"""Add filter to line_filters dict."""
if lineno not in line_filters:
line_filters[lineno] = set()
- line_filters[lineno].add("all" if mutator == "" else mutator.lower())
+ line_filters[lineno].add("all" if mutator != '' else mutator.lower())
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:206
@@ -203,7 +203,7 @@
"""Add filter to line_filters dict."""
if lineno not in line_filters:
line_filters[lineno] = set()
- line_filters[lineno].add("all" if mutator == "" else mutator.lower())
+ line_filters[lineno].add("all" if mutator == 'XXXX' else mutator.lower())
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:206
@@ -203,7 +203,7 @@
"""Add filter to line_filters dict."""
if lineno not in line_filters:
line_filters[lineno] = set()
- line_filters[lineno].add("all" if mutator == "" else mutator.lower())
+ line_filters[lineno].add('XXallXX' if mutator == "" else mutator.lower())
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:206
@@ -203,7 +203,7 @@
"""Add filter to line_filters dict."""
if lineno not in line_filters:
line_filters[lineno] = set()
- line_filters[lineno].add("all" if mutator == "" else mutator.lower())
+ None
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:206
@@ -203,7 +203,7 @@
"""Add filter to line_filters dict."""
if lineno not in line_filters:
line_filters[lineno] = set()
- line_filters[lineno].add("all" if mutator == "" else mutator.lower())
+ None.add("all" if mutator == "" else mutator.lower())
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
|
||
| 207 | ||
| 208 | ||
| 209 |
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool: |
|
| 210 |
"""Identify if this mutant matches any filters.""" |
|
| ▸ | 211 |
for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1): |
|
Status: Mutant Found Mutator Name: BinOp Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:211
@@ -208,7 +208,7 @@
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
"""Identify if this mutant matches any filters."""
- for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
+ for lineno in range(file_mutant.lineno, file_mutant.end_lineno - 1):
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
Status: Mutant Found Mutator Name: BinOp Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:211
@@ -208,7 +208,7 @@
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
"""Identify if this mutant matches any filters."""
- for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
+ for lineno in range(file_mutant.lineno, file_mutant.end_lineno * 1):
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
Status: Mutant Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:211
@@ -208,7 +208,7 @@
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
"""Identify if this mutant matches any filters."""
- for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
+ for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 2):
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
Status: Mutant Found Mutator Name: Number Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:211
@@ -208,7 +208,7 @@
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
"""Identify if this mutant matches any filters."""
- for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
+ for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 0):
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:211
@@ -208,7 +208,7 @@
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
"""Identify if this mutant matches any filters."""
- for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
+ for lineno in None:
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
|
||
| ▸ | 212 |
if lineno in line_filters and ( |
|
Status: Mutant Found Mutator Name: Compare Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:212
@@ -209,8 +209,6 @@
def is_filtered(line_filters: dict[int, set[str]], file_mutant: FileMutation) -> bool:
"""Identify if this mutant matches any filters."""
for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
- if lineno in line_filters and (
- "all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
- ):
+ if lineno in line_filters or ('all' in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]):
return True
return False
|
||
| ▸ | 213 |
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno] |
|
Status: Mutant Found Mutator Name: String Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:213
@@ -210,7 +210,7 @@
"""Identify if this mutant matches any filters."""
for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
if lineno in line_filters and (
- "all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
+ 'XXallXX' in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
return True
return False
Status: Mutant Found Mutator Name: FuncCall Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:213
@@ -210,7 +210,7 @@
"""Identify if this mutant matches any filters."""
for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
if lineno in line_filters and (
- "all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
+ "all" in line_filters[lineno] or None in line_filters[lineno]
):
return True
return False
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:213
@@ -210,7 +210,7 @@
"""Identify if this mutant matches any filters."""
for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
if lineno in line_filters and (
- "all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
+ "all" in None or file_mutant.mutator_name.lower() in line_filters[lineno]
):
return True
return False
Status: Mutant Found Mutator Name: DictArray Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:213
@@ -210,7 +210,7 @@
"""Identify if this mutant matches any filters."""
for lineno in range(file_mutant.lineno, file_mutant.end_lineno + 1):
if lineno in line_filters and (
- "all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
+ "all" in line_filters[lineno] or file_mutant.mutator_name.lower() in None
):
return True
return False
|
||
| 214 |
): |
|
| ▸ | 215 |
return True |
|
Status: Mutant Found Mutator Name: Keyword Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:215
@@ -212,5 +212,5 @@
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
- return True
+ return False
return False
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:215
@@ -212,5 +212,5 @@
if lineno in line_filters and (
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
- return True
+ return None
return False
|
||
| ▸ | 216 |
return False |
|
Status: Mutant Found Mutator Name: Keyword Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:216
@@ -213,4 +213,4 @@
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
return True
- return False
+ return True
Status: Mutant Found Mutator Name: Return Unified Diff: --- src\poodle\mutate.py
+++ [Mutant] src\poodle\mutate.py:216
@@ -213,4 +213,4 @@
"all" in line_filters[lineno] or file_mutant.mutator_name.lower() in line_filters[lineno]
):
return True
- return False
+ return None
|