]>
git.proxmox.com Git - rustc.git/blob - library/stdarch/ci/runtest-android.rs
2 use std
::process
::Command
;
3 use std
::path
::{Path, PathBuf}
;
6 let args
= env
::args_os()
8 .filter(|arg
| arg
!= "--quiet")
10 assert_eq
!(args
.len(), 1);
11 let test
= PathBuf
::from(&args
[0]);
12 let dst
= Path
::new("/data/local/tmp").join(test
.file_name().unwrap());
14 let status
= Command
::new("adb")
15 .arg("wait-for-device")
17 .expect("failed to run: adb wait-for-device");
18 assert
!(status
.success());
20 let status
= Command
::new("adb")
25 .expect("failed to run: adb pushr");
26 assert
!(status
.success());
28 let output
= Command
::new("adb")
32 .expect("failed to run: adb shell");
33 assert
!(status
.success());
35 println
!("status: {}\nstdout ---\n{}\nstderr ---\n{}",
37 String
::from_utf8_lossy(&output
.stdout
),
38 String
::from_utf8_lossy(&output
.stderr
));
40 let stdout
= String
::from_utf8_lossy(&output
.stdout
);
41 let mut lines
= stdout
.lines().filter(|l
| l
.starts_with("test result"));
42 if !lines
.all(|l
| l
.contains("test result: ok") && l
.contains("0 failed")) {
43 panic
!("failed to find successful test run");