aboutsummaryrefslogtreecommitdiff
path: root/xtask/src/main.rs
diff options
context:
space:
mode:
authorHenrik Tjäder <henrik@tjaders.com>2025-06-08 18:18:01 +0200
committerHenrik Tjäder <henrik@tjaders.com>2025-06-15 09:58:25 +0000
commit90bb3249069cca053e7fd177f191b3d06fc06527 (patch)
treec9251413b6474028d88474caf38167c8948448a4 /xtask/src/main.rs
parent6a68e8e54d2b006a888edab0f75e99a04675bb0a (diff)
xtask: Add --loom argument to test
For now filter to only rtic-sync in ci subcommand
Diffstat (limited to 'xtask/src/main.rs')
-rw-r--r--xtask/src/main.rs17
1 files changed, 15 insertions, 2 deletions
diff --git a/xtask/src/main.rs b/xtask/src/main.rs
index 5e86fe5..1702a8b 100644
--- a/xtask/src/main.rs
+++ b/xtask/src/main.rs
@@ -3,7 +3,7 @@ mod build;
mod cargo_command;
mod run;
-use argument_parsing::{ExtraArguments, FormatOpt, PackageOpt};
+use argument_parsing::{ExtraArguments, FormatOpt, Package, PackageOpt, TestOpt};
use clap::Parser;
use core::fmt;
use std::{path::Path, str};
@@ -181,6 +181,14 @@ fn main() -> anyhow::Result<()> {
// Default set of all packages
// CI always runs on all packages
let package = PackageOpt::default();
+ let testopts = TestOpt::default();
+ // Currently only rtic-sync supports loom tests
+ let testoptsloom = TestOpt {
+ loom: true,
+ package: PackageOpt {
+ package: Some(Package::RticSync),
+ },
+ };
let final_run_results = match &cli.command {
Commands::AllCi(args) => {
@@ -263,7 +271,12 @@ fn main() -> anyhow::Result<()> {
return handle_results(globals, results)
.map_err(|_| anyhow::anyhow!("Commands failed"));
}
- results.append(&mut cargo_test(globals, &package, backend));
+ results.append(&mut cargo_test(globals, &testopts, backend));
+ if args.failearly {
+ return handle_results(globals, results)
+ .map_err(|_| anyhow::anyhow!("Commands failed"));
+ }
+ results.append(&mut cargo_test(globals, &testoptsloom, backend));
if args.failearly {
return handle_results(globals, results)
.map_err(|_| anyhow::anyhow!("Commands failed"));