]> git.proxmox.com Git - cargo.git/blob - vendor/libc-0.2.31/ci/runtest-android.rs
New upstream version 0.23.0
[cargo.git] / vendor / libc-0.2.31 / ci / runtest-android.rs
1 use std::env;
2 use std::process::Command;
3 use std::path::{Path, PathBuf};
4
5 fn main() {
6 assert_eq!(env::args_os().len(), 2);
7 let test = PathBuf::from(env::args_os().nth(1).unwrap());
8 let dst = Path::new("/data/local/tmp").join(test.file_name().unwrap());
9
10 let status = Command::new("adb")
11 .arg("wait-for-device")
12 .status()
13 .expect("failed to run rumprun-bake");
14 assert!(status.success());
15
16 let status = Command::new("adb")
17 .arg("push")
18 .arg(&test)
19 .arg(&dst)
20 .status()
21 .expect("failed to run rumprun-bake");
22 assert!(status.success());
23
24 let output = Command::new("adb")
25 .arg("shell")
26 .arg(&dst)
27 .output()
28 .expect("failed to run rumprun-bake");
29 assert!(status.success());
30
31 println!("status: {}\nstdout ---\n{}\nstderr ---\n{}",
32 output.status,
33 String::from_utf8_lossy(&output.stdout),
34 String::from_utf8_lossy(&output.stderr));
35
36 let stdout = String::from_utf8_lossy(&output.stdout);
37 let mut lines = stdout.lines().filter(|l| l.starts_with("PASSED "));
38 if !lines.any(|l| l.contains(" tests")) {
39 panic!("failed to find successful test run");
40 }
41 }