# Install # cargo install --force cargo-make cargo-fuzz [config] default_to_workspace = false [tasks.default] alias = "workflow" [tasks.workflow] dependencies = [ "test-all", "format", "clippy", "doc", "fuzz", "mutants" ] [tasks.test-all] dependencies = ["test-all-features", "test-nostd" ] [tasks.test-all-features] command = "cargo" args = ["test", "--all-features"] [tasks.test-nostd] command = "cargo" args = ["test", "--no-default-features"] [tasks.cov] toolchain = "nightly" install_crate = "cargo-llvm-cov" command = "cargo" # Could add --branch (superceded by --mcdc) # Could add --show-instantiations to show how functions are instantiated args = [ "llvm-cov", "test", "--show-missing-lines", "--doctests", "--html", "--all-features", "--color=always", "--mcdc" ] # [tasks.cov2] # toolchain = "nightly" # install_crate = "cargo-llvm-cov" # dependencies = ["cov_clean", "cov_no_std", "cov_all_tests", "cov_report" ] # # [tasks.cov_clean] # toolchain = "nightly" # command = "cargo" # args = [ "llvm-cov", "clean", "--workspace" ] # # [tasks.cov_all_tests] # toolchain = "nightly" # command = "cargo" # args = [ "llvm-cov", "--no-report", "--all-features", "--mcdc" ] # # [tasks.cov_no_std] # toolchain = "nightly" # command = "cargo" # args = [ "llvm-cov", "--no-report", "--no-default-features", "--mcdc" ] # # [tasks.cov_report] # toolchain = "nightly" # command = "cargo" # args = [ "llvm-cov", "report", "--html", "--doctests", "--show-missing-lines", "--mcdc" ] [tasks.doc] command = "cargo" args = [ "doc", "-p", "rust_intervals" ] [tasks.fuzz] dependencies = [ "fuzz_intv", "fuzz_set" ] [tasks.fuzz_intv] toolchain = "nightly" install_crate = "cargo-fuzz" command = "cargo" args = ["fuzz", "run", "fuzz_intervals", "--", "-max_total_time=20", "-max_len=1000"] [tasks.fuzz_set] toolchain = "nightly" install_crate = "cargo-fuzz" command = "cargo" args = ["fuzz", "run", "fuzz_intervalsets", "--", "-max_total_time=20", "-max_len=8000"] [tasks.clippy] command = "cargo" args = ["clippy", "--all-features"] # Find areas in the code that can be modified without impacting any of the tests [tasks.mutants] command = "cargo" args = ["mutants", "--all-features", "--jobs=4"]