Skip to content

Commit a5c9838

Browse files
committed
unrejigger
1 parent 342a3c1 commit a5c9838

File tree

1 file changed

+35
-9
lines changed

1 file changed

+35
-9
lines changed

xtask/src/cts.rs

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ use anyhow::{anyhow, bail, Context};
3434
use core::fmt;
3535
use pico_args::Arguments;
3636
use regex_lite::{Regex, RegexBuilder};
37-
use std::{ffi::OsString, sync::LazyLock};
37+
use std::{ffi::OsString, path::Path, sync::LazyLock};
3838
use xshell::Shell;
3939

4040
use crate::util::{git_version_at_least, parse_binary_from_cargo_json};
@@ -319,7 +319,8 @@ pub fn run_cts(
319319
}
320320

321321
let env_vars = if llvm_cov {
322-
let env = shell
322+
let mut dir = None;
323+
let mut vec = shell
323324
.cmd("cargo")
324325
.args(&["llvm-cov", "--no-cfg-coverage", "show-env"])
325326
.read()
@@ -335,9 +336,23 @@ pub fn run_cts(
335336
})
336337
.map(|(key, value)| {
337338
let value = value.trim_matches('"').trim_matches('\'');
338-
(key.to_string(), value.to_string())
339+
340+
let key = if key == "CARGO_LLVM_COV_TARGET_DIR" {
341+
// TODO comment here
342+
let key = Path::new(key).join("llvm-cov-target").into_os_string().into_string().unwrap();
343+
dir = Some(key.clone());
344+
key
345+
} else {
346+
key.to_string()
347+
};
348+
349+
(key, value.to_string())
339350
})
340-
.collect::<Vec<_>>()
351+
.collect::<Vec<_>>();
352+
353+
vec.push(("CARGO_LLVM_COV_BUILD_DIR".into(), dir.take().unwrap()));
354+
355+
let env = vec
341356
.into_iter();
342357

343358
// The cargo-llvm-cov docs specify to clean after setting the
@@ -393,11 +408,22 @@ pub fn run_cts(
393408
log::info!("Running {}", test.selector.to_string_lossy());
394409
}
395410

396-
let cmd = shell
397-
.cmd(&bin)
398-
.envs(env_vars.clone())
399-
.args(cts_bin)
400-
.args([&test.selector]);
411+
let cmd = if test.selector != "webgpu:shader,execution,expression,call,builtin,textureSample:sampled_1d_coords:*" {
412+
shell
413+
.cmd(&bin)
414+
.envs(env_vars.clone())
415+
.args(cts_bin)
416+
.args([&test.selector])
417+
418+
} else {
419+
shell
420+
.cmd("cargo")
421+
.args(&["llvm-cov", "--no-cfg-coverage", "--no-report", "run"])
422+
.args(&cargo_opts)
423+
.arg("--")
424+
.args(cts_bin)
425+
.arg(&test.selector)
426+
};
401427

402428
match output_filter {
403429
PrintOutputWhen::TestFails => {

0 commit comments

Comments
 (0)