[env]
COVERAGE_TARGET_DIRECTORY="${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/cover"
COVERAGE_BINARIES="${COVERAGE_TARGET_DIRECTORY}/debug"
COVERAGE_PROF_OUTPUT="${COVERAGE_BINARIES}/profraw"
COVERAGE_OUTPUT_LCOV="${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/lcov.info"
[tasks.coverage_grcov_build_stable]
condition = { rust_version = { min = "1.60.0" } }
private=true
command = "cargo"
args = ["build", "--all-features"]
[tasks.coverage_grcov_build_stable.env]
"CARGO_BUILD_TARGET_DIR"="${COVERAGE_TARGET_DIRECTORY}"
"RUSTFLAGS"= "-Cinstrument-coverage -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off"
"RUSTDOCFLAGS"="-Cpanic=abort"
[tasks.coverage_grcov_run_test_stable]
condition = { rust_version = { min = "1.60.0" } }
private=true
command = "cargo"
args = ["test", "--all-features"]
[tasks.coverage_grcov_run_test_stable.env]
"CARGO_BUILD_TARGET_DIR"="${COVERAGE_TARGET_DIRECTORY}"
"LLVM_PROFILE_FILE"="${COVERAGE_PROF_OUTPUT}/coverage-%p-%m.profraw"
[tasks.coverage_grcov_prepare_outdir]
private=true
workspace=true
script='''
#!/usr/bin/env bash
set -eux
rm -rf ${COVERAGE_PROF_OUTPUT}
mkdir -p ${COVERAGE_PROF_OUTPUT}
'''
[tasks.coverage_grcov_stable]
condition = { rust_version = { min = "1.60.0" } }
workspace=true
script = '''
#!/usr/bin/env bash
set -eux
grcov ${COVERAGE_PROF_OUTPUT} \
-b ${COVERAGE_BINARIES} -s ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY} \
-t lcov --llvm --branch --ignore-not-existing --ignore "/*" -o ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/target/lcov.info
'''
dependencies=["coverage_grcov_build_stable", "coverage_grcov_prepare_outdir", "coverage_grcov_run_test_stable"]
[tasks.coverage_grcov]
dependencies=["coverage_grcov_stable"]