1
Fork 0
mirror of https://github.com/RGBCube/nu_scripts synced 2025-08-02 07:07:46 +00:00

Script to gather test coverage for nushell (#234)

* Script to gather test coverage for nushell

Uses https://github.com/taiki-e/cargo-llvm-cov

Adapted to gather integration test from https://github.com/taiki-e/cargo-llvm-cov#get-coverage-of-external-tests

* Trim variable names

Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>

Co-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>
This commit is contained in:
Stefan Holderbach 2022-05-29 14:33:24 +02:00 committed by GitHub
parent dcd335f191
commit 03db40965a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

32
make_release/get_coverage.nu Executable file
View file

@ -0,0 +1,32 @@
# Test coverage gathering for nushell
# Uses cargo-llvm-cov
# Uses separate execution to track the integration tests
# Hacked together by @sholderbach
# Get test coverage for nushell
def main [
--extra # Get coverage for extra features
] {
cargo llvm-cov show-env --export-prefix |
lines |
str substring '7,' |
split column '=' |
str trim -c '"' |
transpose |
headers |
reject 'column1' |
get 0 |
str trim |
load-env
cargo llvm-cov clean --workspace
if $extra {
cargo build --workspace --features extra
cargo test --workspace --features extra
} else {
cargo build --workspace
cargo test --workspace
}
cargo llvm-cov --no-run --lcov --output-path lcov.info
cargo llvm-cov --no-run --html
}