mirror of
https://github.com/gfx-rs/wgpu.git
synced 2025-12-08 21:26:17 +00:00
ci: add coverage for cts (#7942)
This commit is contained in:
parent
9872df55d7
commit
4572e05bfa
29
.github/workflows/cts.yml
vendored
29
.github/workflows/cts.yml
vendored
@ -43,10 +43,15 @@ jobs:
|
||||
|
||||
- name: Install Repo MSRV toolchain
|
||||
run: |
|
||||
rustup toolchain install ${{ env.MSRV }} --no-self-update --profile=minimal --target ${{ matrix.target }}
|
||||
rustup toolchain install ${{ env.MSRV }} --no-self-update --profile=minimal --target ${{ matrix.target }} --component llvm-tools
|
||||
rustup override set ${{ env.MSRV }}
|
||||
cargo -V
|
||||
|
||||
- name: Install `cargo-llvm-cov`
|
||||
uses: taiki-e/install-action@v2
|
||||
with:
|
||||
tool: cargo-llvm-cov
|
||||
|
||||
- name: caching
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
@ -60,7 +65,7 @@ jobs:
|
||||
mkdir -p .cargo
|
||||
cat <<EOF >> .cargo/config.toml
|
||||
[profile.dev]
|
||||
debug = 1
|
||||
debug = "line-tables-only"
|
||||
EOF
|
||||
|
||||
- name: (Windows) Install DXC
|
||||
@ -71,7 +76,7 @@ jobs:
|
||||
if: matrix.os == 'windows-2022'
|
||||
uses: ./.github/actions/install-warp
|
||||
with:
|
||||
target-dirs: "target/debug"
|
||||
target-dirs: "target/llvm-cov-target/debug"
|
||||
|
||||
- name: (Linux) Install Mesa
|
||||
if: matrix.os == 'ubuntu-24.04'
|
||||
@ -79,4 +84,20 @@ jobs:
|
||||
|
||||
- name: run CTS
|
||||
shell: bash
|
||||
run: cargo xtask cts
|
||||
run: cargo xtask cts --llvm-cov
|
||||
|
||||
- name: Generate coverage report
|
||||
id: coverage
|
||||
shell: bash
|
||||
continue-on-error: true
|
||||
run: |
|
||||
set -e
|
||||
|
||||
cargo llvm-cov report --lcov --output-path lcov.info
|
||||
|
||||
- name: Upload coverage report to Codecov
|
||||
uses: codecov/codecov-action@v5
|
||||
if: steps.coverage.outcome == 'success'
|
||||
with:
|
||||
files: lcov.info
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
|
||||
@ -17,6 +17,7 @@ const CTS_DEFAULT_TEST_LIST: &str = "cts_runner/test.lst";
|
||||
|
||||
pub fn run_cts(shell: Shell, mut args: Arguments) -> anyhow::Result<()> {
|
||||
let skip_checkout = args.contains("--skip-checkout");
|
||||
let llvm_cov = args.contains("--llvm-cov");
|
||||
|
||||
let mut list_files = Vec::<OsString>::new();
|
||||
while let Some(file) = args.opt_value_from_str("-f")? {
|
||||
@ -133,12 +134,18 @@ pub fn run_cts(shell: Shell, mut args: Arguments) -> anyhow::Result<()> {
|
||||
log::info!("Skipping CTS checkout because --skip-checkout was specified");
|
||||
}
|
||||
|
||||
let run_flags = if llvm_cov {
|
||||
&["llvm-cov", "--no-cfg-coverage", "--no-report", "run"][..]
|
||||
} else {
|
||||
&["run"][..]
|
||||
};
|
||||
|
||||
log::info!("Running CTS");
|
||||
for test in &tests {
|
||||
log::info!("Running {}", test.to_string_lossy());
|
||||
shell
|
||||
.cmd("cargo")
|
||||
.args(["run"])
|
||||
.args(run_flags)
|
||||
.args(["--manifest-path".as_ref(), wgpu_cargo_toml.as_os_str()])
|
||||
.args(["-p", "cts_runner"])
|
||||
.args(["--bin", "cts_runner"])
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user