about summary refs log tree commit diff
path: root/src/tools/remote-test-client
diff options
context:
space:
mode:
authorMark Rousskov <mark.simulacrum@gmail.com>2019-12-22 17:42:04 -0500
committerMark Rousskov <mark.simulacrum@gmail.com>2019-12-22 17:42:47 -0500
commita06baa56b95674fc626b3c3fd680d6a65357fe60 (patch)
treecd9d867c2ca3cff5c1d6b3bd73377c44649fb075 /src/tools/remote-test-client
parent8eb7c58dbb7b32701af113bc58722d0d1fefb1eb (diff)
downloadrust-a06baa56b95674fc626b3c3fd680d6a65357fe60.tar.gz
rust-a06baa56b95674fc626b3c3fd680d6a65357fe60.zip
Format the world
Diffstat (limited to 'src/tools/remote-test-client')
-rw-r--r--src/tools/remote-test-client/src/main.rs162
1 files changed, 72 insertions, 90 deletions
diff --git a/src/tools/remote-test-client/src/main.rs b/src/tools/remote-test-client/src/main.rs
index d7f031a6150..d0ae8300bd6 100644
--- a/src/tools/remote-test-client/src/main.rs
+++ b/src/tools/remote-test-client/src/main.rs
@@ -20,36 +20,31 @@ use std::time::Duration;
 const REMOTE_ADDR_ENV: &str = "TEST_DEVICE_ADDR";
 
 macro_rules! t {
-    ($e:expr) => (match $e {
-        Ok(e) => e,
-        Err(e) => panic!("{} failed with {}", stringify!($e), e),
-    })
+    ($e:expr) => {
+        match $e {
+            Ok(e) => e,
+            Err(e) => panic!("{} failed with {}", stringify!($e), e),
+        }
+    };
 }
 
 fn main() {
     let mut args = env::args().skip(1);
 
     match &args.next().unwrap()[..] {
-        "spawn-emulator" => {
-            spawn_emulator(&args.next().unwrap(),
-                           Path::new(&args.next().unwrap()),
-                           Path::new(&args.next().unwrap()),
-                           args.next().map(|s| s.into()))
-        }
-        "push" => {
-            push(Path::new(&args.next().unwrap()))
-        }
-        "run" => {
-            run(args.next().unwrap(), args.collect())
-        }
+        "spawn-emulator" => spawn_emulator(
+            &args.next().unwrap(),
+            Path::new(&args.next().unwrap()),
+            Path::new(&args.next().unwrap()),
+            args.next().map(|s| s.into()),
+        ),
+        "push" => push(Path::new(&args.next().unwrap())),
+        "run" => run(args.next().unwrap(), args.collect()),
         cmd => panic!("unknown command: {}", cmd),
     }
 }
 
-fn spawn_emulator(target: &str,
-                  server: &Path,
-                  tmpdir: &Path,
-                  rootfs: Option<PathBuf>) {
+fn spawn_emulator(target: &str, server: &Path, tmpdir: &Path, rootfs: Option<PathBuf>) {
     let device_address = env::var(REMOTE_ADDR_ENV).unwrap_or("127.0.0.1:12345".to_string());
 
     if env::var(REMOTE_ADDR_ENV).is_ok() {
@@ -70,7 +65,7 @@ fn spawn_emulator(target: &str,
             if client.write_all(b"ping").is_ok() {
                 let mut b = [0; 4];
                 if client.read_exact(&mut b).is_ok() {
-                    break
+                    break;
                 }
             }
         }
@@ -80,42 +75,24 @@ fn spawn_emulator(target: &str,
 
 fn start_android_emulator(server: &Path) {
     println!("waiting for device to come online");
-    let status = Command::new("adb")
-                    .arg("wait-for-device")
-                    .status()
-                    .unwrap();
+    let status = Command::new("adb").arg("wait-for-device").status().unwrap();
     assert!(status.success());
 
     println!("pushing server");
-    let status = Command::new("adb")
-                    .arg("push")
-                    .arg(server)
-                    .arg("/data/tmp/testd")
-                    .status()
-                    .unwrap();
+    let status =
+        Command::new("adb").arg("push").arg(server).arg("/data/tmp/testd").status().unwrap();
     assert!(status.success());
 
     println!("forwarding tcp");
-    let status = Command::new("adb")
-                    .arg("forward")
-                    .arg("tcp:12345")
-                    .arg("tcp:12345")
-                    .status()
-                    .unwrap();
+    let status =
+        Command::new("adb").arg("forward").arg("tcp:12345").arg("tcp:12345").status().unwrap();
     assert!(status.success());
 
     println!("executing server");
-    Command::new("adb")
-                    .arg("shell")
-                    .arg("/data/tmp/testd")
-                    .spawn()
-                    .unwrap();
+    Command::new("adb").arg("shell").arg("/data/tmp/testd").spawn().unwrap();
 }
 
-fn start_qemu_emulator(target: &str,
-                       rootfs: &Path,
-                       server: &Path,
-                       tmpdir: &Path) {
+fn start_qemu_emulator(target: &str, rootfs: &Path, server: &Path, tmpdir: &Path) {
     // Generate a new rootfs image now that we've updated the test server
     // executable. This is the equivalent of:
     //
@@ -124,49 +101,61 @@ fn start_qemu_emulator(target: &str,
     let rootfs_img = tmpdir.join("rootfs.img");
     let mut cmd = Command::new("cpio");
     cmd.arg("--null")
-       .arg("-o")
-       .arg("--format=newc")
-       .stdin(Stdio::piped())
-       .stdout(Stdio::piped())
-       .current_dir(rootfs);
+        .arg("-o")
+        .arg("--format=newc")
+        .stdin(Stdio::piped())
+        .stdout(Stdio::piped())
+        .current_dir(rootfs);
     let mut child = t!(cmd.spawn());
     let mut stdin = child.stdin.take().unwrap();
     let rootfs = rootfs.to_path_buf();
     thread::spawn(move || add_files(&mut stdin, &rootfs, &rootfs));
-    t!(io::copy(&mut child.stdout.take().unwrap(),
-                &mut t!(File::create(&rootfs_img))));
+    t!(io::copy(&mut child.stdout.take().unwrap(), &mut t!(File::create(&rootfs_img))));
     assert!(t!(child.wait()).success());
 
     // Start up the emulator, in the background
     match target {
         "arm-unknown-linux-gnueabihf" => {
             let mut cmd = Command::new("qemu-system-arm");
-            cmd.arg("-M").arg("vexpress-a15")
-               .arg("-m").arg("1024")
-               .arg("-kernel").arg("/tmp/zImage")
-               .arg("-initrd").arg(&rootfs_img)
-               .arg("-dtb").arg("/tmp/vexpress-v2p-ca15-tc1.dtb")
-               .arg("-append")
-               .arg("console=ttyAMA0 root=/dev/ram rdinit=/sbin/init init=/sbin/init")
-               .arg("-nographic")
-               .arg("-redir").arg("tcp:12345::12345");
+            cmd.arg("-M")
+                .arg("vexpress-a15")
+                .arg("-m")
+                .arg("1024")
+                .arg("-kernel")
+                .arg("/tmp/zImage")
+                .arg("-initrd")
+                .arg(&rootfs_img)
+                .arg("-dtb")
+                .arg("/tmp/vexpress-v2p-ca15-tc1.dtb")
+                .arg("-append")
+                .arg("console=ttyAMA0 root=/dev/ram rdinit=/sbin/init init=/sbin/init")
+                .arg("-nographic")
+                .arg("-redir")
+                .arg("tcp:12345::12345");
             t!(cmd.spawn());
         }
         "aarch64-unknown-linux-gnu" => {
             let mut cmd = Command::new("qemu-system-aarch64");
-            cmd.arg("-machine").arg("virt")
-               .arg("-cpu").arg("cortex-a57")
-               .arg("-m").arg("1024")
-               .arg("-kernel").arg("/tmp/Image")
-               .arg("-initrd").arg(&rootfs_img)
-               .arg("-append")
-               .arg("console=ttyAMA0 root=/dev/ram rdinit=/sbin/init init=/sbin/init")
-               .arg("-nographic")
-               .arg("-netdev").arg("user,id=net0,hostfwd=tcp::12345-:12345")
-               .arg("-device").arg("virtio-net-device,netdev=net0,mac=00:00:00:00:00:00");
+            cmd.arg("-machine")
+                .arg("virt")
+                .arg("-cpu")
+                .arg("cortex-a57")
+                .arg("-m")
+                .arg("1024")
+                .arg("-kernel")
+                .arg("/tmp/Image")
+                .arg("-initrd")
+                .arg(&rootfs_img)
+                .arg("-append")
+                .arg("console=ttyAMA0 root=/dev/ram rdinit=/sbin/init init=/sbin/init")
+                .arg("-nographic")
+                .arg("-netdev")
+                .arg("user,id=net0,hostfwd=tcp::12345-:12345")
+                .arg("-device")
+                .arg("virtio-net-device,netdev=net0,mac=00:00:00:00:00:00");
             t!(cmd.spawn());
         }
-        _ => panic!("cannot start emulator for: {}"< target),
+        _ => panic!("cannot start emulator for: {}" < target),
     }
 
     fn add_files(w: &mut dyn Write, root: &Path, cur: &Path) {
@@ -218,9 +207,7 @@ fn run(files: String, args: Vec<String>) {
     // by the client.
     for (k, v) in env::vars() {
         match &k[..] {
-            "PATH" |
-            "LD_LIBRARY_PATH" |
-            "PWD" => continue,
+            "PATH" | "LD_LIBRARY_PATH" | "PWD" => continue,
             _ => {}
         }
         t!(client.write_all(k.as_bytes()));
@@ -253,10 +240,10 @@ fn run(files: String, args: Vec<String>) {
     let mut stderr = io::stderr();
     while !stdout_done || !stderr_done {
         t!(client.read_exact(&mut header));
-        let amt = ((header[1] as u64) << 24) |
-                  ((header[2] as u64) << 16) |
-                  ((header[3] as u64) <<  8) |
-                  ((header[4] as u64) <<  0);
+        let amt = ((header[1] as u64) << 24)
+            | ((header[2] as u64) << 16)
+            | ((header[3] as u64) << 8)
+            | ((header[4] as u64) << 0);
         if header[0] == 0 {
             if amt == 0 {
                 stdout_done = true;
@@ -277,10 +264,10 @@ fn run(files: String, args: Vec<String>) {
     // Finally, read out the exit status
     let mut status = [0; 5];
     t!(client.read_exact(&mut status));
-    let code = ((status[1] as i32) << 24) |
-               ((status[2] as i32) << 16) |
-               ((status[3] as i32) <<  8) |
-               ((status[4] as i32) <<  0);
+    let code = ((status[1] as i32) << 24)
+        | ((status[2] as i32) << 16)
+        | ((status[3] as i32) << 8)
+        | ((status[4] as i32) << 0);
     if status[0] == 0 {
         std::process::exit(code);
     } else {
@@ -294,11 +281,6 @@ fn send(path: &Path, dst: &mut dyn Write) {
     t!(dst.write_all(&[0]));
     let mut file = t!(File::open(&path));
     let amt = t!(file.metadata()).len();
-    t!(dst.write_all(&[
-        (amt >> 24) as u8,
-        (amt >> 16) as u8,
-        (amt >>  8) as u8,
-        (amt >>  0) as u8,
-    ]));
+    t!(dst.write_all(&[(amt >> 24) as u8, (amt >> 16) as u8, (amt >> 8) as u8, (amt >> 0) as u8,]));
     t!(io::copy(&mut file, dst));
 }