diff options
author | Daniel Mueller <deso@posteo.net> | 2017-09-16 08:42:30 -0700 |
---|---|---|
committer | Daniel Mueller <deso@posteo.net> | 2017-09-16 08:42:30 -0700 |
commit | bcaabae7c22d27fdbb07ea6009a6f4a9c3672fa2 (patch) | |
tree | e7470179e1bfb3fff279450e402ddcaf038ae086 /libc/ci/runtest-android.rs | |
parent | ab3c2a935b1ba655de2f3fec35da2c14b69966dc (diff) | |
download | nitrocli-bcaabae7c22d27fdbb07ea6009a6f4a9c3672fa2.tar.gz nitrocli-bcaabae7c22d27fdbb07ea6009a6f4a9c3672fa2.tar.bz2 |
Update libc crate to 0.2.30
Import subrepo libc/:libc at 3520512a8c9cb55661910318a6fb169a75c02a59
Diffstat (limited to 'libc/ci/runtest-android.rs')
-rw-r--r-- | libc/ci/runtest-android.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libc/ci/runtest-android.rs b/libc/ci/runtest-android.rs new file mode 100644 index 0000000..a8f8db8 --- /dev/null +++ b/libc/ci/runtest-android.rs @@ -0,0 +1,41 @@ +use std::env; +use std::process::Command; +use std::path::{Path, PathBuf}; + +fn main() { + assert_eq!(env::args_os().len(), 2); + let test = PathBuf::from(env::args_os().nth(1).unwrap()); + let dst = Path::new("/data/local/tmp").join(test.file_name().unwrap()); + + let status = Command::new("adb") + .arg("wait-for-device") + .status() + .expect("failed to run rumprun-bake"); + assert!(status.success()); + + let status = Command::new("adb") + .arg("push") + .arg(&test) + .arg(&dst) + .status() + .expect("failed to run rumprun-bake"); + assert!(status.success()); + + let output = Command::new("adb") + .arg("shell") + .arg(&dst) + .output() + .expect("failed to run rumprun-bake"); + assert!(status.success()); + + println!("status: {}\nstdout ---\n{}\nstderr ---\n{}", + output.status, + String::from_utf8_lossy(&output.stdout), + String::from_utf8_lossy(&output.stderr)); + + let stdout = String::from_utf8_lossy(&output.stdout); + let mut lines = stdout.lines().filter(|l| l.starts_with("PASSED ")); + if !lines.any(|l| l.contains(" tests")) { + panic!("failed to find successful test run"); + } +} |