# Tests are run by nextest # --all-features is not passed since `minify-html` is a optional dependency which takes long to compile, # and is not going to be included in local development. # CI will run with the `--all-features` flag. set dotenv-required := true set dotenv-filename := ".env.example" watch_base := "cargo watch -q -c -i 'tests/resources/**/*'" no_capture := if env_var("TEST_LOG") == "true" { "--no-capture" } else { "" } run bin="": clear cargo run --bin {{ bin }} -r # Watch watch: {{ watch_base }} -x "c --all-targets" watch-test name="": {{ watch_base }} -s "just test {{ name }}" watch-test-pkg pkg: {{ watch_base }} -s "just test-pkg {{ pkg }}" watch-example package name: {{ watch_base }} -s "just example {{ package }} {{ name }}" watch-test-integration: {{ watch_base }} -x "nextest run -E 'kind(test)'" watch-bench name="": {{ watch_base }} -s "just bench {{ name }}" # Individual commands test name="": clear cargo nextest run {{ no_capture }} --all-targets {{ name }} test-pkg pkg: clear cargo nextest run --all-targets --package {{ pkg }} test-doc: clear cargo test --doc check-lib-bins: clear cargo check --lib --bins example package name: clear cargo run -p {{ package }} --example {{ name }} bench package name="": clear cargo bench --all-features --all-targets -p {{ package }} {{ name }} cov: clear rustup run nightly cargo llvm-cov nextest --open --lib --locked lint: clear cargo clippy --all-targets --locked tree crate: clear cargo tree --all-features --all-targets -i {{ crate }} tag version: git tag -a v{{ version }} -m "Version {{ version }}"