-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinfection.json5
More file actions
44 lines (38 loc) · 2.24 KB
/
Copy pathinfection.json5
File metadata and controls
44 lines (38 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
"$schema": "vendor/infection/infection/resources/schema.json",
"source": {
"directories": [
"src"
]
},
"mutators": {
"@default": true,
// --- Documented ignores: mutants that are provably behavior-invisible. ---
// The 0o775 mode passed to mkdir() only affects directory permission bits, which
// nothing observes or asserts. (Targets the mkdir() calls only; the min(16)/max(64)
// bounds in the config tree are still mutated and killed.)
// (Regexes are anchored by Infection to a whole removed diff line: ^-\s*<regex>$,
// hence the surrounding .* — they target one specific line each.)
"IncrementInteger": { "ignoreSourceCodeByRegex": [".*0o775.*"] },
"DecrementInteger": { "ignoreSourceCodeByRegex": [".*0o775.*"] },
// Symfony\Component\Console\Application already defaults catchExceptions to true; the
// explicit call documents intent, so removing it is a no-op. (Other MethodCallRemoval
// mutants — the services.php import, addResource, the autoloader register — are killed.)
"MethodCallRemoval": { "ignoreSourceCodeByRegex": [".*setCatchExceptions.*"] },
// The synthetic roots file's exact byte layout (trailing newline / line glue) is
// irrelevant: it only has to be valid PHP that triggers specialization, which
// XphpCompilerTest asserts via the generated class plus full artifact cleanup.
"Concat": { "ignoreSourceCodeByRegex": [".*implode.*"] },
"ConcatOperandRemoval": { "ignoreSourceCodeByRegex": [".*implode.*"] },
// These (string) casts satisfy the type system only: ParameterBag::resolveValue()
// returns a string for the source/target/cache path params at runtime, so dropping
// the cast changes no behavior.
"CastString": { "ignoreSourceCodeByRegex": [".*resolveValue.*"] },
// Early-return guard in removeRootsArtifacts(): with no roots there is nothing to
// clean, and the @unlink/@rmdir it guards are already no-ops on absent paths.
"ReturnRemoval": { "ignore": ["Xphp\\SymfonyBundle\\Compiler\\XphpCompiler::removeRootsArtifacts"] }
},
"logs": {
"text": "var/infection.log"
}
}