self.builder.build.build
}
- /// Return a `-p=x -p=y` string suitable for passing to a cargo invocation.
+ /// Return a list of crate names selected by `run.paths`.
pub fn cargo_crates_in_set(&self) -> Interned<Vec<String>> {
let mut crates = Vec::new();
for krate in &self.paths {
let path = krate.assert_single_path();
let crate_name = self.builder.crate_paths[&path.path];
- crates.push(format!("-p={crate_name}"));
+ crates.push(crate_name.to_string());
}
INTERNER.intern_list(crates)
}
}
+/// A description of the crates in this set, suitable for passing to `builder.info`.
+///
+/// `crates` should be generated by [`RunConfig::cargo_crates_in_set`].
+pub fn crate_description(crates: &[impl AsRef<str>]) -> String {
+ if crates.is_empty() {
+ return "".into();
+ }
+
+ let mut descr = String::from(" {");
+ descr.push_str(crates[0].as_ref());
+ for krate in &crates[1..] {
+ descr.push_str(", ");
+ descr.push_str(krate.as_ref());
+ }
+ descr.push('}');
+ descr
+}
+
struct StepDescription {
default: bool,
only_hosts: bool,
crate::toolstate::ToolStateCheck,
test::ExpandYamlAnchors,
test::Tidy,
+ test::TidySelfTest,
test::Ui,
test::RunPassValgrind,
test::MirOpt,