.buildnumber
.editorconfig
.gitattributes
.rusty-hook.toml
Cargo.toml
LICENSE
Makefile.toml
docs/Gemfile
docs/api/.lock
docs/api/ayu.css
docs/api/brush.svg
docs/api/cargo_make/sidebar-items.js
docs/api/cli/sidebar-items.js
docs/api/cli/types/sidebar-items.js
docs/api/dark.css
docs/api/down-arrow.svg
docs/api/favicon.ico
docs/api/implementors/core/clone/trait.Clone.js
docs/api/implementors/core/cmp/trait.Eq.js
docs/api/implementors/core/cmp/trait.PartialEq.js
docs/api/implementors/core/default/trait.Default.js
docs/api/implementors/core/fmt/trait.Debug.js
docs/api/implementors/core/marker/trait.Copy.js
docs/api/implementors/core/marker/trait.Freeze.js
docs/api/implementors/core/marker/trait.Send.js
docs/api/implementors/core/marker/trait.StructuralEq.js
docs/api/implementors/core/marker/trait.StructuralPartialEq.js
docs/api/implementors/core/marker/trait.Sync.js
docs/api/implementors/core/marker/trait.Unpin.js
docs/api/implementors/core/ops/deref/trait.Deref.js
docs/api/implementors/core/ops/deref/trait.DerefMut.js
docs/api/implementors/serde/de/trait.Deserialize.js
docs/api/implementors/serde/ser/trait.Serialize.js
docs/api/implementors/std/panic/trait.RefUnwindSafe.js
docs/api/implementors/std/panic/trait.UnwindSafe.js
docs/api/light.css
docs/api/main.js
docs/api/makers/sidebar-items.js
docs/api/normalize.css
docs/api/noscript.css
docs/api/rustdoc.css
docs/api/search-index.js
docs/api/settings.css
docs/api/settings.js
docs/api/source-files.js
docs/api/source-script.js
docs/api/storage.js
docs/api/theme.js
docs/api/wheel.svg
docs/assets/badges/cargo-make.svg
docs/assets/css/style.scss
docs/favicon.ico
examples/alias.toml
examples/cargo-make/cache.toml
examples/cargo-make/config.toml
examples/clear.toml
examples/condition.toml
examples/cross_platform_shell.toml
examples/cwd.toml
examples/dependencies.toml
examples/deprecated.toml
examples/duckscript.toml
examples/env.toml
examples/extending.toml
examples/extends_list.toml
examples/extends_not_found.toml
examples/extends_optional_not_found.toml
examples/files/extending.toml
examples/fork.toml
examples/functions.toml
examples/ignore_errors.toml
examples/install.toml
examples/javascript.toml
examples/kcov.toml
examples/min_version.toml
examples/modify_core_tasks.toml
examples/on_error.toml
examples/override_core.toml
examples/perl.toml
examples/php.toml
examples/platform_override.toml
examples/private.toml
examples/profile.env
examples/profile.toml
examples/python.toml
examples/run_task.toml
examples/rust-script.toml
examples/script.sh
examples/script.toml
examples/shebang.toml
examples/simple-example.toml
examples/skip_core_tasks.toml
examples/task_extend.toml
examples/test.env
examples/toolchain.toml
examples/varargs.toml
examples/watch.toml
examples/workspace-emulation/Makefile.toml
examples/workspace-emulation/member/member3/Makefile.toml
examples/workspace-emulation/member1/Makefile.toml
examples/workspace-emulation/member2/Cargo.toml
examples/workspace-emulation/member2/Makefile.toml
examples/workspace/Cargo.toml
examples/workspace/Makefile.toml
examples/workspace/member1/Cargo.toml
examples/workspace/member1/Makefile.toml
examples/workspace/member1/src/lib.rs
examples/workspace/member2/Cargo.toml
examples/workspace/member2/Makefile.toml
examples/workspace/member2/src/lib.rs
examples/workspace/member3/Cargo.toml
examples/workspace/member3/Makefile.toml
examples/workspace/member3/src/lib.rs
examples/workspace2/Cargo.toml
examples/workspace2/Makefile.toml
examples/workspace2/member/member3/Makefile.toml
examples/workspace2/member1/Makefile.toml
examples/workspace2/member2/Cargo.toml
examples/workspace2/member2/Makefile.toml
src/lib/cache.rs
src/lib/cache_test.rs
src/lib/cli.rs
src/lib/cli_commands/diff_steps.rs
src/lib/cli_commands/diff_steps_test.rs
src/lib/cli_commands/list_steps.rs
src/lib/cli_commands/list_steps_test.rs
src/lib/cli_commands/mod.rs
src/lib/cli_commands/print_steps.rs
src/lib/cli_commands/print_steps_test.rs
src/lib/cli_test.rs
src/lib/command.rs
src/lib/command_test.rs
src/lib/condition.rs
src/lib/condition_test.rs
src/lib/config.rs
src/lib/config_test.rs
src/lib/descriptor/makefiles/base.toml
src/lib/descriptor/makefiles/beta.toml
src/lib/descriptor/makefiles/deprecated.toml
src/lib/descriptor/makefiles/git.toml
src/lib/descriptor/makefiles/github.toml
src/lib/descriptor/makefiles/mod.rs
src/lib/descriptor/makefiles/mod_test.rs
src/lib/descriptor/makefiles/rust-coverage.toml
src/lib/descriptor/makefiles/rust-wasm.toml
src/lib/descriptor/makefiles/rust.toml
src/lib/descriptor/makefiles/stable.toml
src/lib/descriptor/mod.rs
src/lib/descriptor/mod_test.rs
src/lib/environment/crateinfo.rs
src/lib/environment/crateinfo_test.rs
src/lib/environment/mod.rs
src/lib/environment/mod_test.rs
src/lib/execution_plan.rs
src/lib/execution_plan_test.rs
src/lib/functions/decode_func.rs
src/lib/functions/decode_func_test.rs
src/lib/functions/getat_func.rs
src/lib/functions/getat_func_test.rs
src/lib/functions/mod.rs
src/lib/functions/mod_test.rs
src/lib/functions/remove_empty_func.rs
src/lib/functions/remove_empty_func_test.rs
src/lib/functions/split_func.rs
src/lib/functions/split_func_test.rs
src/lib/functions/trim_func.rs
src/lib/functions/trim_func_test.rs
src/lib/installer/cargo_plugin_installer.rs
src/lib/installer/cargo_plugin_installer_test.rs
src/lib/installer/crate_installer.rs
src/lib/installer/crate_installer_test.rs
src/lib/installer/crate_version_check.rs
src/lib/installer/crate_version_check_test.rs
src/lib/installer/mod.rs
src/lib/installer/mod_test.rs
src/lib/installer/rustup_component_installer.rs
src/lib/installer/rustup_component_installer_test.rs
src/lib/io.rs
src/lib/io_test.rs
src/lib/legacy.rs
src/lib/legacy_test.rs
src/lib/logger.rs
src/lib/logger_test.rs
src/lib/mod.rs
src/lib/profile.rs
src/lib/profile_test.rs
src/lib/recursion_level.rs
src/lib/recursion_level_test.rs
src/lib/runner.rs
src/lib/runner_test.rs
src/lib/scriptengine/duck_script/mod.rs
src/lib/scriptengine/duck_script/mod_test.rs
src/lib/scriptengine/duck_script/sdk/cm_run_task.rs
src/lib/scriptengine/duck_script/sdk/mod.rs
src/lib/scriptengine/generic_script.rs
src/lib/scriptengine/generic_script_test.rs
src/lib/scriptengine/mod.rs
src/lib/scriptengine/mod_test.rs
src/lib/scriptengine/os_script.rs
src/lib/scriptengine/os_script_test.rs
src/lib/scriptengine/rsscript.rs
src/lib/scriptengine/rsscript_test.rs
src/lib/scriptengine/script_utils.rs
src/lib/scriptengine/script_utils_test.rs
src/lib/scriptengine/shebang_script.rs
src/lib/scriptengine/shebang_script_test.rs
src/lib/scriptengine/shell_to_batch.rs
src/lib/scriptengine/shell_to_batch_test.rs
src/lib/storage.rs
src/lib/storage_test.rs
src/lib/test/makefiles/broken_makefile.toml
src/lib/test/makefiles/broken_makefile_minversion.toml
src/lib/test/makefiles/empty.toml
src/lib/test/makefiles/test1.toml
src/lib/test/makefiles/test2.toml
src/lib/test/mod.rs
src/lib/test/test_files/.crates.toml
src/lib/test/test_files/env.env
src/lib/test/test_files/profile.env
src/lib/test/workspace1/Cargo.toml
src/lib/test/workspace1/Makefile.toml
src/lib/test/workspace1/member/member3/Makefile.toml
src/lib/test/workspace1/member1/Makefile.toml
src/lib/test/workspace1/member2/Cargo.toml
src/lib/test/workspace1/member2/Makefile.toml
src/lib/test/workspace2/Cargo.toml
src/lib/test/workspace2/Makefile.toml
src/lib/test/workspace2/member/member3/.cargo/config.toml
src/lib/test/workspace2/member/member3/Makefile.toml
src/lib/test/workspace2/member1/Makefile.toml
src/lib/test/workspace2/member2/.cargo/config.toml
src/lib/test/workspace2/member2/Makefile.toml
src/lib/time_summary.rs
src/lib/toolchain.rs
src/lib/toolchain_test.rs
src/lib/types.rs
src/lib/types_test.rs
src/lib/version.rs
src/lib/version_test.rs
src/main.rs
src/main_test.rs
src/makers.rs
src/makers_test.rs
<<<<<< network
# path=./target/coverage/1/cli-2804be16b6fcf441.2091e33434bf83d6/cobertura.xml
<<<<<< EOF
# path=./target/coverage/1/cli-2804be16b6fcf441.2091e33434bf83d6/coverage.json
{
"files": [
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/config.rs", "percent_covered": "44.83", "covered_lines": "13", "total_lines": "29"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/generic_script.rs", "percent_covered": "100.00", "covered_lines": "17", "total_lines": "17"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/getat_func_test.rs", "percent_covered": "86.49", "covered_lines": "64", "total_lines": "74"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/test/mod.rs", "percent_covered": "77.33", "covered_lines": "58", "total_lines": "75"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shell_to_batch.rs", "percent_covered": "100.00", "covered_lines": "3", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/descriptor/mod.rs", "percent_covered": "46.21", "covered_lines": "177", "total_lines": "383"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_installer.rs", "percent_covered": "93.33", "covered_lines": "42", "total_lines": "45"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/split_func.rs", "percent_covered": "100.00", "covered_lines": "14", "total_lines": "14"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shebang_script_test.rs", "percent_covered": "96.77", "covered_lines": "60", "total_lines": "62"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/version_test.rs", "percent_covered": "100.00", "covered_lines": "207", "total_lines": "207"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/mod_test.rs", "percent_covered": "98.26", "covered_lines": "113", "total_lines": "115"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/runner_test.rs", "percent_covered": "30.69", "covered_lines": "522", "total_lines": "1701"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/list_steps_test.rs", "percent_covered": "95.32", "covered_lines": "163", "total_lines": "171"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/mod.rs", "percent_covered": "29.14", "covered_lines": "139", "total_lines": "477"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_version_check.rs", "percent_covered": "67.01", "covered_lines": "65", "total_lines": "97"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/recursion_level.rs", "percent_covered": "27.27", "covered_lines": "3", "total_lines": "11"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/mod.rs", "percent_covered": "91.67", "covered_lines": "66", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/storage.rs", "percent_covered": "75.00", "covered_lines": "12", "total_lines": "16"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/getat_func.rs", "percent_covered": "86.96", "covered_lines": "20", "total_lines": "23"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/list_steps.rs", "percent_covered": "94.03", "covered_lines": "63", "total_lines": "67"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/script_utils.rs", "percent_covered": "75.00", "covered_lines": "3", "total_lines": "4"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/sdk/mod.rs", "percent_covered": "72.22", "covered_lines": "13", "total_lines": "18"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/legacy.rs", "percent_covered": "34.69", "covered_lines": "17", "total_lines": "49"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/remove_empty_func.rs", "percent_covered": "100.00", "covered_lines": "9", "total_lines": "9"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/descriptor/mod_test.rs", "percent_covered": "60.44", "covered_lines": "408", "total_lines": "675"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/generic_script_test.rs", "percent_covered": "90.74", "covered_lines": "49", "total_lines": "54"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/mod_test.rs", "percent_covered": "93.98", "covered_lines": "125", "total_lines": "133"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/split_func_test.rs", "percent_covered": "85.00", "covered_lines": "34", "total_lines": "40"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shell_to_batch_test.rs", "percent_covered": "83.33", "covered_lines": "10", "total_lines": "12"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_test.rs", "percent_covered": "2.05", "covered_lines": "6", "total_lines": "293"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/sdk/cm_run_task.rs", "percent_covered": "90.32", "covered_lines": "28", "total_lines": "31"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/descriptor/makefiles/mod_test.rs", "percent_covered": "60.62", "covered_lines": "97", "total_lines": "160"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/print_steps_test.rs", "percent_covered": "92.73", "covered_lines": "51", "total_lines": "55"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/runner.rs", "percent_covered": "39.00", "covered_lines": "140", "total_lines": "359"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/remove_empty_func_test.rs", "percent_covered": "90.00", "covered_lines": "18", "total_lines": "20"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/storage_test.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "21"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/mod.rs", "percent_covered": "90.62", "covered_lines": "116", "total_lines": "128"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/io.rs", "percent_covered": "67.65", "covered_lines": "23", "total_lines": "34"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/diff_steps.rs", "percent_covered": "96.77", "covered_lines": "30", "total_lines": "31"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_version_check_test.rs", "percent_covered": "86.42", "covered_lines": "140", "total_lines": "162"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/script_utils_test.rs", "percent_covered": "100.00", "covered_lines": "7", "total_lines": "7"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/mod.rs", "percent_covered": "90.70", "covered_lines": "39", "total_lines": "43"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/types.rs", "percent_covered": "85.16", "covered_lines": "815", "total_lines": "957"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/execution_plan_test.rs", "percent_covered": "76.46", "covered_lines": "692", "total_lines": "905"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/legacy_test.rs", "percent_covered": "17.65", "covered_lines": "9", "total_lines": "51"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/logger.rs", "percent_covered": "83.15", "covered_lines": "74", "total_lines": "89"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/mod_test.rs", "percent_covered": "12.73", "covered_lines": "139", "total_lines": "1092"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/types_test.rs", "percent_covered": "95.99", "covered_lines": "2850", "total_lines": "2969"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/io_test.rs", "percent_covered": "100.00", "covered_lines": "23", "total_lines": "23"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/print_steps.rs", "percent_covered": "90.91", "covered_lines": "30", "total_lines": "33"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/rsscript_test.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "121"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/version.rs", "percent_covered": "93.44", "covered_lines": "114", "total_lines": "122"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/recursion_level_test.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "13"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/crateinfo.rs", "percent_covered": "54.17", "covered_lines": "91", "total_lines": "168"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/profile_test.rs", "percent_covered": "40.28", "covered_lines": "29", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/os_script.rs", "percent_covered": "100.00", "covered_lines": "3", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/toolchain.rs", "percent_covered": "66.67", "covered_lines": "18", "total_lines": "27"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/crateinfo_test.rs", "percent_covered": "95.69", "covered_lines": "400", "total_lines": "418"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/mod.rs", "percent_covered": "71.43", "covered_lines": "55", "total_lines": "77"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/os_script_test.rs", "percent_covered": "93.75", "covered_lines": "15", "total_lines": "16"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/mod_test.rs", "percent_covered": "91.67", "covered_lines": "66", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/config_test.rs", "percent_covered": "47.62", "covered_lines": "20", "total_lines": "42"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/time_summary.rs", "percent_covered": "11.43", "covered_lines": "4", "total_lines": "35"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/decode_func.rs", "percent_covered": "100.00", "covered_lines": "27", "total_lines": "27"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/cargo_plugin_installer.rs", "percent_covered": "66.67", "covered_lines": "56", "total_lines": "84"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/condition_test.rs", "percent_covered": "52.11", "covered_lines": "1186", "total_lines": "2276"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/cargo_plugin_installer_test.rs", "percent_covered": "52.87", "covered_lines": "92", "total_lines": "174"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_installer_test.rs", "percent_covered": "90.17", "covered_lines": "156", "total_lines": "173"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/diff_steps_test.rs", "percent_covered": "91.57", "covered_lines": "76", "total_lines": "83"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shebang_script.rs", "percent_covered": "92.16", "covered_lines": "47", "total_lines": "51"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/trim_func.rs", "percent_covered": "94.44", "covered_lines": "17", "total_lines": "18"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cache_test.rs", "percent_covered": "47.83", "covered_lines": "11", "total_lines": "23"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/execution_plan.rs", "percent_covered": "72.73", "covered_lines": "176", "total_lines": "242"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/condition.rs", "percent_covered": "89.62", "covered_lines": "190", "total_lines": "212"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/command_test.rs", "percent_covered": "86.07", "covered_lines": "105", "total_lines": "122"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/toolchain_test.rs", "percent_covered": "92.50", "covered_lines": "37", "total_lines": "40"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/decode_func_test.rs", "percent_covered": "91.18", "covered_lines": "93", "total_lines": "102"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/rsscript.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "39"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/trim_func_test.rs", "percent_covered": "93.02", "covered_lines": "40", "total_lines": "43"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/logger_test.rs", "percent_covered": "91.74", "covered_lines": "100", "total_lines": "109"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/mod_test.rs", "percent_covered": "83.60", "covered_lines": "158", "total_lines": "189"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cache.rs", "percent_covered": "57.38", "covered_lines": "35", "total_lines": "61"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/rustup_component_installer.rs", "percent_covered": "70.83", "covered_lines": "51", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/rustup_component_installer_test.rs", "percent_covered": "85.92", "covered_lines": "61", "total_lines": "71"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/profile.rs", "percent_covered": "80.77", "covered_lines": "21", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/command.rs", "percent_covered": "91.67", "covered_lines": "99", "total_lines": "108"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli.rs", "percent_covered": "33.79", "covered_lines": "74", "total_lines": "219"}
],
"percent_covered": "64.59",
"covered_lines": 11539,
"total_lines": 17866,
"percent_low": 25,
"percent_high": 75,
"command": "cli-2804be16b6fcf441",
"date": "2020-10-15 05:30:07"
}
<<<<<< EOF
# path=./target/coverage/2/cargo_make-e1151ab74b64c27f.2091e33434bf83d6/cobertura.xml
<<<<<< EOF
# path=./target/coverage/2/cargo_make-e1151ab74b64c27f.2091e33434bf83d6/coverage.json
{
"files": [
{"file": "/home/runner/work/cargo-make/cargo-make/src/main.rs", "percent_covered": "100.00", "covered_lines": "3", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/main_test.rs", "percent_covered": "100.00", "covered_lines": "4", "total_lines": "4"}
],
"percent_covered": "100.00",
"covered_lines": 7,
"total_lines": 7,
"percent_low": 25,
"percent_high": 75,
"command": "cargo_make-e1151ab74b64c27f",
"date": "2020-10-15 05:30:07"
}
<<<<<< EOF
# path=./target/coverage/5/cargo_make-0367d8dcb84309da.2091e33434bf83d6/cobertura.xml
<<<<<< EOF
# path=./target/coverage/5/cargo_make-0367d8dcb84309da.2091e33434bf83d6/coverage.json
{
"files": [
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "43"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shebang_script.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "51"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/rsscript.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "38"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_installer.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "45"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/script_utils.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "4"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/cargo_plugin_installer.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "84"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/generic_script.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "17"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/rustup_component_installer.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "127"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/trim_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "18"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/decode_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "27"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/sdk/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "18"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cache.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "61"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/legacy.rs", "percent_covered": "28.57", "covered_lines": "14", "total_lines": "49"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/condition.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "212"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "77"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/types.rs", "percent_covered": "1.41", "covered_lines": "12", "total_lines": "850"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/remove_empty_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "9"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/logger.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "86"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/version.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "122"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/crateinfo.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "168"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/print_steps.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/mod.rs", "percent_covered": "66.67", "covered_lines": "2", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/storage.rs", "percent_covered": "75.00", "covered_lines": "12", "total_lines": "16"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/profile.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli.rs", "percent_covered": "32.00", "covered_lines": "72", "total_lines": "225"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/command.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "108"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/recursion_level.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "11"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "469"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/time_summary.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "35"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/split_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "14"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/os_script.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/runner.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "359"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/diff_steps.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "31"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/io.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "34"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shell_to_batch.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/main.rs", "percent_covered": "85.71", "covered_lines": "6", "total_lines": "7"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/descriptor/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "383"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/list_steps.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "67"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_version_check.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "97"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/config.rs", "percent_covered": "48.28", "covered_lines": "14", "total_lines": "29"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/toolchain.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/execution_plan.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "242"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/getat_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "23"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/sdk/cm_run_task.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "31"}
],
"percent_covered": "2.92",
"covered_lines": 132,
"total_lines": 4518,
"percent_low": 25,
"percent_high": 75,
"command": "cargo_make-0367d8dcb84309da",
"date": "2020-10-15 05:30:10"
}
<<<<<< EOF
# path=./target/coverage/4/makers-bd762603d348dfff.2091e33434bf83d6/cobertura.xml
<<<<<< EOF
# path=./target/coverage/4/makers-bd762603d348dfff.2091e33434bf83d6/coverage.json
{
"files": [
{"file": "/home/runner/work/cargo-make/cargo-make/src/makers.rs", "percent_covered": "100.00", "covered_lines": "3", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/makers_test.rs", "percent_covered": "100.00", "covered_lines": "4", "total_lines": "4"}
],
"percent_covered": "100.00",
"covered_lines": 7,
"total_lines": 7,
"percent_low": 25,
"percent_high": 75,
"command": "makers-bd762603d348dfff",
"date": "2020-10-15 05:30:09"
}
<<<<<< EOF
# path=./target/coverage/3/makers-611bbf27392e41a1.2091e33434bf83d6/cobertura.xml
<<<<<< EOF
# path=./target/coverage/3/makers-611bbf27392e41a1.2091e33434bf83d6/coverage.json
{
"files": [
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "43"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shebang_script.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "51"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/rsscript.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "38"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_installer.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "45"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/script_utils.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "4"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/cargo_plugin_installer.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "84"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/generic_script.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "17"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/rustup_component_installer.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "127"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/trim_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "18"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/decode_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "27"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/sdk/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "18"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cache.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "61"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/legacy.rs", "percent_covered": "28.57", "covered_lines": "14", "total_lines": "49"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/condition.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "212"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/makers.rs", "percent_covered": "85.71", "covered_lines": "6", "total_lines": "7"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "77"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/types.rs", "percent_covered": "1.41", "covered_lines": "12", "total_lines": "850"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/remove_empty_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "9"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/logger.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "86"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/version.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "122"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/crateinfo.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "168"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/print_steps.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/mod.rs", "percent_covered": "66.67", "covered_lines": "2", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/storage.rs", "percent_covered": "75.00", "covered_lines": "12", "total_lines": "16"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/profile.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli.rs", "percent_covered": "32.44", "covered_lines": "73", "total_lines": "225"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/command.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "108"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/recursion_level.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "11"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/environment/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "469"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/time_summary.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "35"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/split_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "14"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/os_script.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/runner.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "359"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/diff_steps.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "31"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/io.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "34"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/shell_to_batch.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "3"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/descriptor/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "383"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/cli_commands/list_steps.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "67"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/installer/crate_version_check.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "97"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/config.rs", "percent_covered": "48.28", "covered_lines": "14", "total_lines": "29"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/mod.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "72"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/toolchain.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "26"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/execution_plan.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "242"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/functions/getat_func.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "23"},
{"file": "/home/runner/work/cargo-make/cargo-make/src/lib/scriptengine/duck_script/sdk/cm_run_task.rs", "percent_covered": "0.00", "covered_lines": "0", "total_lines": "31"}
],
"percent_covered": "2.94",
"covered_lines": 133,
"total_lines": 4518,
"percent_low": 25,
"percent_high": 75,
"command": "makers-611bbf27392e41a1",
"date": "2020-10-15 05:30:08"
}
<<<<<< EOF
# path=./src/lib/descriptor/makefiles/rust-coverage.toml
[tasks.workspace-members-coverage]
description = "Runs the ci-flow for every workspace member."
category = "Test"
workspace = false
env = { "CARGO_MAKE_MEMBER_TASK" = "${CARGO_MAKE_CORE_TASK_NAMESPACE_PREFIX}coverage" }
run_task = "do-on-members"
[tasks.workspace-coverage]
description = "Runs coverage task for all members and packages all of them (by default the codecov flow)."
category = "Test"
dependencies = [
"workspace-members-coverage",
"workspace-coverage-pack"
]
[tasks.workspace-coverage-pack]
description = "Publishes all member coverage reports."
category = "Test"
linux_alias = "codecov"
[tasks.pre-coverage]
category = "Test"
[tasks.coverage]
description = "Runs coverage (by default using kcov)."
category = "Test"
env = { "RUSTFLAGS" = "-C link-dead-code" }
run_task = [
{ name = "coverage-tarpaulin", condition = { platforms = ["linux"], env = { "CARGO_MAKE_COVERAGE_PROVIDER" = "tarpaulin" } } },
{ name = "coverage-kcov", condition = { platforms = ["linux"] } },
]
[tasks.coverage-kcov]
description = "Installs (if missing) and runs coverage using kcov (not supported on windows)"
category = "Test"
dependencies = [
"setup-sudo-env"
]
condition = { env_set = [ "CARGO_MAKE_KCOV_VERSION" ], platforms = ["linux", "mac"] }
script_runner = "bash"
env = { "CARGO_MAKE_KCOV_INCLUDE_PATTERN" = "${CARGO_MAKE_WORKING_DIRECTORY}/src/" }
install_script = [
'''
if [ "${CARGO_MAKE_SUDO_ENABLED}" == "false" ]; then
echo "Skipping kcov installation as 'sudo' is disabled."
exit 0
fi
KCOV_INSTALLATION_DIRECTORY=""
KCOV_BINARY_DIRECTORY=""
if [ -n "${CARGO_MAKE_KCOV_INSTALLATION_DIRECTORY}" ]; then
mkdir -p ${CARGO_MAKE_KCOV_INSTALLATION_DIRECTORY}
cd ${CARGO_MAKE_KCOV_INSTALLATION_DIRECTORY}
KCOV_INSTALLATION_DIRECTORY="$(pwd)/"
cd -
echo "Kcov Installation Directory: ${KCOV_INSTALLATION_DIRECTORY}"
KCOV_BINARY_DIRECTORY="${KCOV_INSTALLATION_DIRECTORY}/build/src/"
echo "Kcov Binary Directory: ${KCOV_BINARY_DIRECTORY}"
fi
# get help info to fetch all supported command line arguments
KCOV_HELP_INFO=`${KCOV_BINARY_DIRECTORY}kcov --help` || true
# check needed arguments are supported, else install
if [[ $KCOV_HELP_INFO != *"--include-pattern"* ]] || [[ $KCOV_HELP_INFO != *"--exclude-line"* ]] || [[ $KCOV_HELP_INFO != *"--exclude-region"* ]]; then
# check we are on a supported platform
if [ "$(uname)" == "Linux" ]; then
if [ "$(grep -Ei 'debian|buntu|mint' /etc/*release)" ]; then
echo "Installing/Upgrading kcov..."
sudo apt-get update || true
sudo apt-get install -y libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev
fi
elif [ "$(uname)" == "Darwin" ]; then
for brew_install in zlib bash cmake pkgconfig wget ; do
if brew info ${brew_install} | grep "Not installed" ; then
brew install ${brew_install}
else
echo "skipping ${brew_install} already installed"
fi
done
fi
mkdir -p ${CARGO_MAKE_KCOV_DOWNLOAD_DIRECTORY}
cd ${CARGO_MAKE_KCOV_DOWNLOAD_DIRECTORY}
KCOV_DOWNLOAD_DIRECTORY=$(pwd)
wget https://github.com/SimonKagstrom/kcov/archive/v${CARGO_MAKE_KCOV_VERSION}.zip
unzip v${CARGO_MAKE_KCOV_VERSION}.zip
cd kcov-${CARGO_MAKE_KCOV_VERSION}
mkdir -p build
cd ./build
cmake ..
make
# if custom installation directory, leave kcov as local
if [ -n "${CARGO_MAKE_KCOV_INSTALLATION_DIRECTORY}" ]; then
cd ${KCOV_DOWNLOAD_DIRECTORY}/kcov-${CARGO_MAKE_KCOV_VERSION}
mv ./* ${KCOV_INSTALLATION_DIRECTORY}
else
sudo make install
cd ../..
rm -rf kcov-${CARGO_MAKE_KCOV_VERSION}
fi
fi
'''
]
script = [
'''
echo "Working Directory: ${CARGO_MAKE_WORKING_DIRECTORY}"
KCOV_BINARY_DIRECTORY=""
if [ -n "${CARGO_MAKE_KCOV_INSTALLATION_DIRECTORY}" ]; then
cd ${CARGO_MAKE_KCOV_INSTALLATION_DIRECTORY}
KCOV_INSTALLATION_DIRECTORY="$(pwd)/"
cd -
echo "Kcov Installation Directory: ${KCOV_INSTALLATION_DIRECTORY}"
KCOV_BINARY_DIRECTORY="${KCOV_INSTALLATION_DIRECTORY}/build/src/"
echo "Kcov Binary Directory: ${KCOV_BINARY_DIRECTORY}"
fi
TARGET_DIRECTORY="target/coverage"
if [ -n "$CARGO_MAKE_COVERAGE_REPORT_DIRECTORY" ]; then
TARGET_DIRECTORY="$CARGO_MAKE_COVERAGE_REPORT_DIRECTORY"
fi
echo "Target Directory: ${TARGET_DIRECTORY}"
mkdir -p "${TARGET_DIRECTORY}"
BINARY_DIRECTORY=target/debug
if [ -n "$CARGO_MAKE_WORKSPACE_TARGET_DIRECTORY" ]; then
BINARY_DIRECTORY="${CARGO_MAKE_WORKSPACE_TARGET_DIRECTORY}/debug"
fi
BINARY_DIRECTORY=${BINARY_DIRECTORY}/deps
KCOV_EXCLUDE_LINE_ARG=""
if [ -n "$CARGO_MAKE_KCOV_EXCLUDE_LINE" ]; then
KCOV_EXCLUDE_LINE_ARG="--exclude-line=${CARGO_MAKE_KCOV_EXCLUDE_LINE}"
fi
KCOV_EXCLUDE_REGION_ARG=""
if [ -n "$CARGO_MAKE_KCOV_EXCLUDE_REGION" ]; then
KCOV_EXCLUDE_REGION_ARG="--exclude-region=${CARGO_MAKE_KCOV_EXCLUDE_REGION}"
fi
echo "Running tests from directory: ${BINARY_DIRECTORY}"
# Evaluate variables that may be in the expression
# This allows us to do double expansion on a non-variable second expansion
CARGO_MAKE_TEST_COVERAGE_BINARY_FILTER_REGEX="$(sh -c "echo \"${CARGO_MAKE_TEST_COVERAGE_BINARY_FILTER}\"")"
echo "Test binary filter regex: ${CARGO_MAKE_TEST_COVERAGE_BINARY_FILTER_REGEX}"
TEST_FILES=$(find "${BINARY_DIRECTORY}" -maxdepth 1 -type f | grep -e "${CARGO_MAKE_TEST_COVERAGE_BINARY_FILTER_REGEX}") || true
echo "Test Files:"
echo "${TEST_FILES}"
TEST_OPTIONS="--test-threads 1"
if [ "${CARGO_MAKE_TEST_USE_MUTLI_TEST_PHASES}" == "true" ]; then
export RUST_TEST_THREADS="1"
if [ "${CARGO_MAKE_RUST_CHANNEL}" == "nightly" ]; then
TEST_OPTIONS="${TEST_OPTIONS} --include-ignored -Zunstable-options"
fi
fi
TEST_OPTIONS="${TEST_OPTIONS} ${CARGO_MAKE_KCOV_TEST_ARGUMENTS}"
TIMEOUT_COMMAND=""
if [ -n "${CARGO_MAKE_KCOV_TEST_TIMEOUT_VALUE}" ]; then
TIMEOUT_COMMAND="timeout ${CARGO_MAKE_KCOV_TEST_TIMEOUT_VALUE} "
fi
i=0
for file in $TEST_FILES
do
((i=i+1))
echo "Running coverage for file: $file"
${TIMEOUT_COMMAND} ${KCOV_BINARY_DIRECTORY}kcov --include-pattern=${CARGO_MAKE_KCOV_INCLUDE_PATTERN} ${KCOV_EXCLUDE_LINE_ARG} ${KCOV_EXCLUDE_REGION_ARG} "${TARGET_DIRECTORY}/${i}" "$file" ${TEST_OPTIONS} || true
done
rm -f ./core
'''
]
[tasks.coverage-tarpaulin]
description = "Runs coverage using tarpaulin rust crate (linux only)"
category = "Test"
[tasks.coverage-tarpaulin.linux]
command = "cargo"
args = ["tarpaulin", "--out", "Xml"]
[tasks.post-coverage]
category = "Test"
[tasks.coverage-flow]
description = "Runs the full coverage flow."
category = "Test"
dependencies = [
"pre-coverage",
"coverage",
"post-coverage"
]
[tasks.codecov]
description = "Runs codecov script to upload coverage results to codecov."
category = "Test"
condition = { env_not_set = [ "CARGO_MAKE_SKIP_CODECOV" ], platforms = ["linux", "mac"] }
script_runner = "bash"
script = [
"#!/usr/bin/env bash",
"bash <(curl -s https://codecov.io/bash)"
]
[tasks.codecov-flow]
description = "Runs the full coverage flow and uploads the results to codecov."
category = "Test"
condition = { platforms = ["linux", "mac"] }
dependencies = [
"coverage-flow",
"codecov"
]
[tasks.ci-coverage-flow]
description = "Runs the coverage flow and uploads the results to codecov."
category = "CI"
condition = { platforms = ["linux"], env_true = [ "CARGO_MAKE_CI", "CARGO_MAKE_RUN_CODECOV" ] }
run_task = "codecov-flow"
<<<<<< EOF