Add a Rust ping/pong example

Change-Id: Ida4d8c5abcf31a5ae3eb7db5a556fcbc3e1cfe7d
Signed-off-by: Adam Snaider <adsnaider@gmail.com>
diff --git a/aos/init.rs b/aos/init.rs
index 8a5f262..9ac62f1 100644
--- a/aos/init.rs
+++ b/aos/init.rs
@@ -16,6 +16,12 @@
 ///
 /// Panics if non-test initialization has already been performed.
 pub fn test_init() {
+    init();
+    // TODO(Brian): Do we want any of the other stuff that `:gtest_main` has?
+    // TODO(Brian): Call `aos::SetShmBase` like `:gtest_main` does.
+}
+
+pub fn init() {
     static ONCE: Once = Once::new();
     ONCE.call_once(|| {
         let argv0 = std::env::args().next().expect("must have argv[0]");
@@ -23,7 +29,4 @@
         // SAFETY: argv0 is a NUL-terminated string.
         unsafe { ffi::aos::InitFromRust(argv0.as_ptr()) };
     });
-
-    // TODO(Brian): Do we want any of the other stuff that `:gtest_main` has?
-    // TODO(Brian): Call `aos::SetShmBase` like `:gtest_main` does.
 }