Fix running of tests

This commit is contained in:
datdenkikniet 2023-04-15 22:19:13 +02:00
parent d838286de6
commit 1c84ccf6e4
3 changed files with 30 additions and 26 deletions

View file

@ -302,7 +302,7 @@ pub fn cargo_book<'c>(
/// Run examples
///
/// Supports updating the expected output via the overwrite argument
pub fn run_test<'c>(
pub fn qemu_run_examples<'c>(
globals: &Globals,
cargoarg: &'c Option<&'c str>,
backend: Backends,
@ -312,31 +312,30 @@ pub fn run_test<'c>(
let target = backend.to_target();
let features = Some(target.and_features(backend.to_rtic_feature()));
examples_iter(examples)
.map(|example| {
let cmd = CargoCommand::ExampleBuild {
cargoarg: &Some("--quiet"),
let build = examples_iter(examples).map(|example| {
let cmd_build = CargoCommand::ExampleBuild {
// We need to be in the correct
cargoarg: &None,
example,
target,
features: features.clone(),
mode: BuildMode::Release,
};
(globals, cmd_build, overwrite)
});
if let Err(err) = command_parser(globals, &cmd, false) {
error!("{err}");
}
let cmd = CargoCommand::Qemu {
let run = examples_iter(examples).map(|example| {
let cmd_qemu = CargoCommand::Qemu {
cargoarg,
example,
target,
features: features.clone(),
mode: BuildMode::Release,
};
(globals, cmd_qemu, overwrite)
});
(globals, cmd, overwrite)
})
.run_and_coalesce()
build.chain(run).run_and_coalesce()
}
/// Check the binary sizes of examples

View file

@ -593,6 +593,11 @@ impl<'a> CargoCommand<'a> {
if let Some(cargoarg) = cargoarg {
args.extend_from_slice(&[cargoarg]);
}
// We need to be in the `rtic` directory to pick up
// the correct .cargo/config.toml file
args.extend_from_slice(&["-Z", "unstable-options", "-C", "rtic"]);
args.extend_from_slice(&[
self.command(),
"--example",
@ -856,7 +861,7 @@ pub fn handle_results(globals: &Globals, results: Vec<FinalRunResult>) -> Result
if globals.verbose > 0 {
info!("✅ Success: {cmd}{path}\n {}", cmd.as_cmd_string());
} else {
info!("✅ Success:{cmd}{path}");
info!("✅ Success: {cmd}{path}");
}
});

View file

@ -268,7 +268,7 @@ fn main() -> anyhow::Result<()> {
Commands::Qemu(args) | Commands::Run(args) => {
// x86_64 target not valid
info!("Testing for backend: {backend:?}");
run_test(
qemu_run_examples(
globals,
&cargologlevel,
backend,