Directories
¶
| Path | Synopsis |
|---|---|
|
Package corpus discovers turango's checked-in mutation-testing regression fixtures under the repo's corpus/ directory and parses each one's golden.json into an Entry that internal/corpus's own tests turn into an internal/mutate.Options run.
|
Package corpus discovers turango's checked-in mutation-testing regression fixtures under the repo's corpus/ directory and parses each one's golden.json into an Entry that internal/corpus's own tests turn into an internal/mutate.Options run. |
|
Package goproxy locates the real Go toolchain binary and forwards an invocation to it.
|
Package goproxy locates the real Go toolchain binary and forwards an invocation to it. |
|
Persistent mutant verdict cache.
|
Persistent mutant verdict cache. |
|
Package mutator defines the contract every mutation operator implements and the name-keyed plugin registry the mutation engine discovers operators through.
|
Package mutator defines the contract every mutation operator implements and the name-keyed plugin registry the mutation engine discovers operators through. |
|
control
Package control implements the body-removal mutation operators.
|
Package control implements the body-removal mutation operators. |
|
expression
Package expression implements the mutation operators that rewrite Go expressions.
|
Package expression implements the mutation operators that rewrite Go expressions. |
|
identifier
Package identifier implements mutation operators whose eligibility depends on static type information, answering questions purely syntactic operators (control, expression, literal, operator, statement) cannot: "is this identifier interchangeable with that one?"
|
Package identifier implements mutation operators whose eligibility depends on static type information, answering questions purely syntactic operators (control, expression, literal, operator, statement) cannot: "is this identifier interchangeable with that one?" |
|
literal
Package literal implements mutation operators that change a literal value in source rather than swapping an operator or removing a statement: a numeric constant shifted — an integer by one in each direction (the classic off-by-one — `x < 0` becomes `x < 1`), a float by a small relative nudge in each direction (`x < 0.95` becomes `x < 0.95095`) — or a boolean literal flipped (`true` becomes `false`).
|
Package literal implements mutation operators that change a literal value in source rather than swapping an operator or removing a statement: a numeric constant shifted — an integer by one in each direction (the classic off-by-one — `x < 0` becomes `x < 1`), a float by a small relative nudge in each direction (`x < 0.95` becomes `x < 0.95095`) — or a boolean literal flipped (`true` becomes `false`). |
|
operator
Package operator implements the token-level mutation operators: the mutators that change a program's meaning by substituting one Go operator for another (`+` for `-`, `==` for `!=`, `++` for `--`) or by stripping a unary operator off the expression it negates.
|
Package operator implements the token-level mutation operators: the mutators that change a program's meaning by substituting one Go operator for another (`+` for `-`, `==` for `!=`, `++` for `--`) or by stripping a unary operator off the expression it negates. |
|
statement
Package statement implements mutation operators that delete whole statements from a function body, answering the question "does the test suite notice when this line never runs?".
|
Package statement implements mutation operators that delete whole statements from a function body, answering the question "does the test suite notice when this line never runs?". |
Click to show internal directories.
Click to hide internal directories.