Skip to content

Releases: sourcefrog/cargo-mutants

v24.2.0

04 Feb 21:33
9f47fee
Compare
Choose a tag to compare
  • New: Colored output can be enabled in CI or other noninteractive situations by passing --colors=always, or setting CARGO_TERM_COLOR=always, or CLICOLOR_FORCE=1. Colors can similarly be forced off with --colors=never, CARGO_TERM_COLOR=never, or NO_COLOR=1.

Install cargo-mutants 24.2.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.2.0/cargo-mutants-installer.sh | sh

Install prebuilt binaries via powershell script

irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.2.0/cargo-mutants-installer.ps1 | iex

Download cargo-mutants 24.2.0

File Platform Checksum
cargo-mutants-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
cargo-mutants-x86_64-apple-darwin.tar.xz Intel macOS checksum
cargo-mutants-x86_64-pc-windows-msvc.zip x64 Windows checksum
cargo-mutants-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v24.1.2

24 Jan 16:54
v24.1.2
53f0cc6
Compare
Choose a tag to compare
  • New: --in-place option tests mutations in the original source tree, without copying the tree. This is faster and uses less disk space, but it's incompatible with --jobs, and you must be careful not to edit or commit the source tree while tests are running.

Install cargo-mutants 24.1.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.2/cargo-mutants-installer.sh | sh

Install prebuilt binaries via powershell script

irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.2/cargo-mutants-installer.ps1 | iex

Download cargo-mutants 24.1.2

File Platform Checksum
cargo-mutants-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
cargo-mutants-x86_64-apple-darwin.tar.xz macOS Intel checksum
cargo-mutants-x86_64-pc-windows-msvc.zip Windows x64 checksum
cargo-mutants-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

v24.1.1

16 Jan 17:00
v24.1.1
822aff2
Compare
Choose a tag to compare

cargo-mutants 24.1.1

  • New: Mutate +, -, *, /, %, &, ^, |, <<, >> binary ops, and their corresponding assignment ops like +=.

  • New: --baseline=skip option to skip running tests in an unmutated tree, when they're already been checked externally.

  • Changed: Stop generating mutations of || and && to != and ||, because it seems to raise too many low-value false positives that may be hard to test.

  • Fixed: Colors in command-line help and error messages.


Install cargo-mutants 24.1.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.1/cargo-mutants-installer.sh | sh

Install prebuilt binaries via powershell script

irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.1/cargo-mutants-installer.ps1 | iex

Download cargo-mutants 24.1.1

File Platform Checksum
cargo-mutants-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
cargo-mutants-x86_64-apple-darwin.tar.xz macOS Intel checksum
cargo-mutants-x86_64-pc-windows-msvc.zip Windows x64 checksum
cargo-mutants-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

v24.1.0

13 Jan 03:26
v24.1.0
ac5ffb4
Compare
Choose a tag to compare
  • New! cargo mutants --test-tool nextest, or test_tool = "nextest" in .cargo/mutants.toml runs tests under Nextest. Some trees have tests that only work under Nextest, and this allows them to be tested. In other cases Nextest may be significantly faster, because it will exit soon after the first test failure.

  • Fixed: Fixed spurious "Patch input contains repeated filenames" error when --in-diff is given a patch that deletes multiple files.

Download through cargo install, cargo binstall or https://github.com/sourcefrog/cargo-mutants/releases/tag/v24.1.0


Install cargo-mutants 24.1.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.0/cargo-mutants-installer.sh | sh

Install prebuilt binaries via powershell script

irm https://github.com/sourcefrog/cargo-mutants/releases/download/v24.1.0/cargo-mutants-installer.ps1 | iex

Download cargo-mutants 24.1.0

File Platform Checksum
cargo-mutants-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
cargo-mutants-x86_64-apple-darwin.tar.xz macOS Intel checksum
cargo-mutants-x86_64-pc-windows-msvc.zip Windows x64 checksum
cargo-mutants-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

v23.12.2

23 Dec 08:46
v23.12.2
Compare
Choose a tag to compare

Install cargo-mutants 23.12.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sourcefrog/cargo-mutants/releases/download/v23.12.2/cargo-mutants-installer.sh | sh

Install prebuilt binaries via powershell script

irm https://github.com/sourcefrog/cargo-mutants/releases/download/v23.12.2/cargo-mutants-installer.ps1 | iex

Download cargo-mutants 23.12.2

File Platform Checksum
cargo-mutants-aarch64-apple-darwin.tar.xz macOS Apple Silicon checksum
cargo-mutants-x86_64-apple-darwin.tar.xz macOS Intel checksum
cargo-mutants-x86_64-pc-windows-msvc.zip Windows x64 checksum
cargo-mutants-x86_64-unknown-linux-gnu.tar.xz Linux x64 checksum

23.12.1 tropical mutants

16 Dec 23:00
Compare
Choose a tag to compare
  • Improved progress bars and console output, including putting the outcome of each mutant on the left, and the overall progress bar at the bottom. Improved display of estimated remaining time, and other times.

  • Fixed: Correctly traverse mod statements within package top source files that are not named lib.rs or main.rs, by following the path setting of each target within the manifest.

  • Improved: Don't generate function mutants that have the same AST as the code they're replacing.

cargo-mutants 23.12.0

04 Dec 18:55
v23.12.0
Compare
Choose a tag to compare

An exciting step forward: cargo-mutants can now generate mutations smaller than a whole function. To start with, several binary operators are mutated.

Also, --in-diff will no longer error out if no mutants are generated in the diff, making it much more reasonable for a CI check.

  • New: Mutate == to != and vice versa.

  • New: Mutate && to || and vice versa, and mutate both of them to == and !=.

  • New: Mutate <, <=, >, >=.

  • Changed: If no mutants are generated then cargo mutants now exits successfully, showing a warning. (Previously it would exit with an error.) This works better with --in-diff in CI, where it's normal that some changes may not have any mutants.

  • Changed: Include column numbers in text listings of mutants and output to disambiguate smaller-than-function mutants, for example if there are several operators that can be changed on one line. This also applies to the names used for regex matching, so may break some regexps that match the entire line (sorry). The new option --line-col=false turns them both off in --list output.

  • Changed: In the mutants.json format, replaced the function, line, and return_type fields with a function submessage (including the name and return type) and a span indicating the entire replaced region, to better handle smaller-than-function mutants. Also, the function includes the line-column span of the entire function.

v23.11.2

26 Nov 19:38
v23.11.2
Compare
Choose a tag to compare
  • Changed: If --file or --exclude are set on the command line, then they replace the corresponding config file options. Similarly, if --re is given then the examine_re config key is ignored, and if --exclude-re is given then exclude_regex is ignored. (Previously the values were combined.) This makes it easier to use the command line to test files or mutants that are normally not tested.

  • Improved: By default, files matching gitignore patterns (including in parent directories, per-user configuration, and info/exclude) are excluded from copying to temporary build directories. This should improve performance in some large trees with many files that are not part of the build. This behavior can be turned off with --gitignore=false.

  • Improved: Run cargo metadata with --no-deps, so that it doesn't download and compute dependency information, which can save time in some situations.

  • Added: Alternative aliases for command line options, so you don't need to remember if it's "regex" or "re": --regex, --examine-re, --examine-regex (all for names to include) and --exclude-regex.

  • Added: Accept --manifest-path as an alternative to -d, for consistency with other cargo commands.

v23.11.1

13 Nov 01:23
v23.11.1
Compare
Choose a tag to compare
  • New --in-diff FILE option tests only mutants that are in the diff from the given file. This is useful to avoid testing mutants from code that has not changed, either locally or in CI.

v23.11.0

12 Nov 15:29
v23.11.0
Compare
Choose a tag to compare
  • Changed: cargo mutants now tries to match the behavior of cargo test when run within a workspace. If run in a package directory, it tests only that package. If run in a workspace that is not a package (a "virtual workspace"), it tests the configured default packages, or otherwise all packages. This can all be overridden with the --package or --workspace options.

  • New: generate key-value map values from types like BTreeMap<String, Vec<u8>>.

  • Changed: Send trace messages to stderr rather stdout, in part so that it won't pollute json output.