Improve test running on Redox

This commit is contained in:
Ron Williams
2024-10-06 04:26:13 -07:00
parent a91cb17e4e
commit d2ef712fa7
3 changed files with 235 additions and 8 deletions
+24 -8
View File
@@ -44,21 +44,37 @@ fn expected(bin: &str, kind: &str, generated: &[u8], status: ExitStatus) -> Resu
}
fn main() {
let (status_only, bins) = {
let mut bins = vec![];
let mut status_only = false;
for name in env::args().skip(1) {
if name == "--status-only" {
status_only = true;
} else {
bins.push(name);
}
}
(status_only, bins)
};
let mut failures = Vec::new();
for bin in env::args().skip(1) {
for bin in bins {
println!("# {} #", bin);
match Command::new(&bin).arg("test").arg("args").output() {
Ok(output) => {
if let Err(failure) = expected(&bin, "stdout", &output.stdout, output.status) {
println!("{}", failure);
failures.push(failure);
}
if !status_only {
if let Err(failure) = expected(&bin, "stdout", &output.stdout, output.status) {
println!("{}", failure);
failures.push(failure);
}
if let Err(failure) = expected(&bin, "stderr", &output.stderr, output.status) {
println!("{}", failure);
failures.push(failure);
if let Err(failure) = expected(&bin, "stderr", &output.stderr, output.status) {
println!("{}", failure);
failures.push(failure);
}
}
}
Err(err) => {