[starnix] Move gvisor tests into a separate mount

Change-Id: Ie6c9e3568f466e550c8ccc5d8022c3c7924038b9
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/559286
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Fuchsia-Auto-Submit: Theodore Dubois <tbodt@google.com>
Reviewed-by: Adam Barth <abarth@google.com>
diff --git a/src/proc/bin/starnix/runner.rs b/src/proc/bin/starnix/runner.rs
index c939168..372231e 100644
--- a/src/proc/bin/starnix/runner.rs
+++ b/src/proc/bin/starnix/runner.rs
@@ -248,7 +248,10 @@
 
     let mounts =
         runner::get_program_strvec(&start_info, "mounts").map(|a| a.clone()).unwrap_or(vec![]);
-    let binary_path = CString::new(runner::get_program_binary(&start_info)?)?;
+    let binary_path = CString::new(
+        runner::get_program_string(&start_info, "binary")
+            .ok_or_else(|| anyhow!("Missing \"binary\" in manifest"))?,
+    )?;
     let args = runner::get_program_strvec(&start_info, "args")
         .map(|args| {
             args.iter().map(|arg| CString::new(arg.clone())).collect::<Result<Vec<CString>, _>>()
diff --git a/src/proc/tests/android/BUILD.gn b/src/proc/tests/android/BUILD.gn
index 89328a2..b05e63d 100644
--- a/src/proc/tests/android/BUILD.gn
+++ b/src/proc/tests/android/BUILD.gn
@@ -128,7 +128,7 @@
   resource("${test_name}_bin") {
     sources =
         [ "//prebuilt/starnix/tests/syscalls/linux-amd64/linux/${test_name}" ]
-    outputs = [ "root/system/bin/${test_name}" ]
+    outputs = [ "data/tests/${test_name}" ]
   }
 
   fuchsia_component(test_name) {
diff --git a/src/proc/tests/android/meta/access_test.cml b/src/proc/tests/android/meta/access_test.cml
index aa9d0f1..211b938 100644
--- a/src/proc/tests/android/meta/access_test.cml
+++ b/src/proc/tests/android/meta/access_test.cml
@@ -1,10 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/access_test",
+        binary: "/data/tests/access_test",
         args: [ "--gunit_filter=*.RelativeFile:*.RelativeDir:*.AbsFile:*.AbsDir:*.RelDoesNotExist:*.AbsDoesNotExist:*.InvalidMode:*.InvalidName:*.UsrReadWrite:*.UsrReadWriteExec" ],
         mounts: [
             "/:remotefs:root",
+            "/data:remotefs:data",
             "/tmp:tmpfs",
         ],
     },
diff --git a/src/proc/tests/android/meta/brk_test.cml b/src/proc/tests/android/meta/brk_test.cml
index 72fa6a0..0635700 100644
--- a/src/proc/tests/android/meta/brk_test.cml
+++ b/src/proc/tests/android/meta/brk_test.cml
@@ -1,7 +1,10 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/brk_test",
-        mounts: [ "/:remotefs:root" ],
+        binary: "/data/tests/brk_test",
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/clock_getres_test.cml b/src/proc/tests/android/meta/clock_getres_test.cml
index bf1b79f..decfeff 100644
--- a/src/proc/tests/android/meta/clock_getres_test.cml
+++ b/src/proc/tests/android/meta/clock_getres_test.cml
@@ -1,8 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/clock_getres_test",
+        binary: "/data/tests/clock_getres_test",
         environ: [ "TEST_ON_GVISOR=1" ],
-        mounts: [ "/:remotefs:root" ],
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/clock_gettime_test.cml b/src/proc/tests/android/meta/clock_gettime_test.cml
index 1886795..12ba9ef 100644
--- a/src/proc/tests/android/meta/clock_gettime_test.cml
+++ b/src/proc/tests/android/meta/clock_gettime_test.cml
@@ -1,9 +1,12 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/clock_gettime_test",
+        binary: "/data/tests/clock_gettime_test",
         args: [ "--gunit_filter=-ClockGettime.JavaThreadTime:ClockGettime/MonotonicClockTest.IsMonotonic*" ],
         environ: [ "TEST_ON_GVISOR=1" ],
-        mounts: [ "/:remotefs:root" ],
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/exit_test.cml b/src/proc/tests/android/meta/exit_test.cml
index 696d904c..2600d07 100644
--- a/src/proc/tests/android/meta/exit_test.cml
+++ b/src/proc/tests/android/meta/exit_test.cml
@@ -1,7 +1,10 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/exit_test",
-        mounts: [ "/:remotefs:root" ],
+        binary: "/data/tests/exit_test",
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/fork_test.cml b/src/proc/tests/android/meta/fork_test.cml
index 6f9e4a6..e989453 100644
--- a/src/proc/tests/android/meta/fork_test.cml
+++ b/src/proc/tests/android/meta/fork_test.cml
@@ -1,8 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/fork_test",
+        binary: "/data/tests/fork_test",
         args: [ "--gunit_filter=ForkTest.*:-*.Alarm" ],
-        mounts: [ "/:remotefs:root" ],
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/getrandom_test.cml b/src/proc/tests/android/meta/getrandom_test.cml
index 7635321..576cbac 100644
--- a/src/proc/tests/android/meta/getrandom_test.cml
+++ b/src/proc/tests/android/meta/getrandom_test.cml
@@ -1,7 +1,10 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/getrandom_test",
-        mounts: [ "/:remotefs:root" ],
+        binary: "/data/tests/getrandom_test",
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/kill_test.cml b/src/proc/tests/android/meta/kill_test.cml
index b65b09c..1f78ffb 100644
--- a/src/proc/tests/android/meta/kill_test.cml
+++ b/src/proc/tests/android/meta/kill_test.cml
@@ -1,9 +1,12 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/kill_test",
+        binary: "/data/tests/kill_test",
         args: [ "--gunit_filter=KillTest.CanKillAllPIDs:KillTest.CannotKillInvalidPID:KillTest.CannotKillTid" ],
         environ: [ "TEST_ON_GVISOR=1" ],
-        mounts: [ "/:remotefs:root" ],
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/lseek_test.cml b/src/proc/tests/android/meta/lseek_test.cml
index 92916d3..28b159b 100644
--- a/src/proc/tests/android/meta/lseek_test.cml
+++ b/src/proc/tests/android/meta/lseek_test.cml
@@ -1,11 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/lseek_test",
+        binary: "/data/tests/lseek_test",
         args: [ "--gunit_filter=-*.DirCurEnd:*.Proc*:*.SysDir:*.SeekCurrentDir:*.EtcPasswdDup" ],
-        args: [ "--gunit_filter=-*.Overflow:*.DirCurEnd:*.Proc*:*.SysDir:*.SeekCurrentDir:*.EtcPasswdDup" ],
         mounts: [
             "/:remotefs:root",
+            "/data:remotefs:data",
             "/tmp:tmpfs",
         ],
     },
diff --git a/src/proc/tests/android/meta/munmap_test.cml b/src/proc/tests/android/meta/munmap_test.cml
index 31dc7bb..42217c5 100644
--- a/src/proc/tests/android/meta/munmap_test.cml
+++ b/src/proc/tests/android/meta/munmap_test.cml
@@ -1,7 +1,10 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/munmap_test",
-        mounts: [ "/:remotefs:root" ],
+        binary: "/data/tests/munmap_test",
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/pipe_test.cml b/src/proc/tests/android/meta/pipe_test.cml
index 324a864..c105faa 100644
--- a/src/proc/tests/android/meta/pipe_test.cml
+++ b/src/proc/tests/android/meta/pipe_test.cml
@@ -1,10 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/pipe_test",
+        binary: "/data/tests/pipe_test",
         args: [ "--gunit_filter=-*Proc*:*StatFS*:*.Flags/named*" ],
         mounts: [
             "/:remotefs:root",
+            "/data:remotefs:data",
             "/tmp:tmpfs",
         ],
     },
diff --git a/src/proc/tests/android/meta/sigaction_test.cml b/src/proc/tests/android/meta/sigaction_test.cml
index 9e7657d..1537c5f 100644
--- a/src/proc/tests/android/meta/sigaction_test.cml
+++ b/src/proc/tests/android/meta/sigaction_test.cml
@@ -1,7 +1,10 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/sigaction_test",
-        mounts: [ "/:remotefs:root" ],
+        binary: "/data/tests/sigaction_test",
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/sigaltstack_test.cml b/src/proc/tests/android/meta/sigaltstack_test.cml
index 5eaa113..ca14f30 100644
--- a/src/proc/tests/android/meta/sigaltstack_test.cml
+++ b/src/proc/tests/android/meta/sigaltstack_test.cml
@@ -1,8 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/sigaltstack_test",
+        binary: "/data/tests/sigaltstack_test",
         args: [ "--gunit_filter=SigaltstackTest.Success" ],
-        mounts: [ "/:remotefs:root" ],
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/sigprocmask_test.cml b/src/proc/tests/android/meta/sigprocmask_test.cml
index 990a841..6db655ec 100644
--- a/src/proc/tests/android/meta/sigprocmask_test.cml
+++ b/src/proc/tests/android/meta/sigprocmask_test.cml
@@ -1,7 +1,10 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/sigprocmask_test",
-        mounts: [ "/:remotefs:root" ],
+        binary: "/data/tests/sigprocmask_test",
+        mounts: [
+            "/:remotefs:root",
+            "/data:remotefs:data",
+        ],
     },
 }
diff --git a/src/proc/tests/android/meta/symlink_test.cml b/src/proc/tests/android/meta/symlink_test.cml
index ba1ff6c..6002ada 100644
--- a/src/proc/tests/android/meta/symlink_test.cml
+++ b/src/proc/tests/android/meta/symlink_test.cml
@@ -1,10 +1,11 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/symlink_test",
+        binary: "/data/tests/symlink_test",
         args: [ "--gunit_filter=-SymlinkTest.CannotCreateSymlinkInReadOnlyDir:SymlinkTest.SymlinkAtDegradedPermissions:SymlinkTest.ReadlinkAtDegradedPermissions:AbsAndRelTarget/ParamSymlinkTest*" ],
         mounts: [
             "/:remotefs:root",
+            "/data:remotefs:data",
             "/tmp:tmpfs",
         ],
     },
diff --git a/src/proc/tests/android/meta/syscalls_test.cml b/src/proc/tests/android/meta/syscalls_test.cml
index 7f13c3f..f5925cb 100644
--- a/src/proc/tests/android/meta/syscalls_test.cml
+++ b/src/proc/tests/android/meta/syscalls_test.cml
@@ -1,7 +1,7 @@
 {
     include: [ "//src/sys/test_runners/starnix/default.shard.cml" ],
     program: {
-        binary: "system/bin/syscalls_test",
+        binary: "/data/tests/syscalls_test",
         mounts: [
             "/:remotefs:root",
             "/data:tmpfs",