[testrunner] Expose full environment to local tests

No need to keep a whitelist until we need it.

Change-Id: Ida989d59543e5478a4c0538b5ce7f21374caed7c
diff --git a/cmd/testrunner/main.go b/cmd/testrunner/main.go
index 11d718f..8470a8d 100644
--- a/cmd/testrunner/main.go
+++ b/cmd/testrunner/main.go
@@ -7,7 +7,6 @@
 import (
 	"bytes"
 	"context"
-	"errors"
 	"flag"
 	"fmt"
 	"io"
@@ -43,52 +42,9 @@
 // Fuchsia-specific environment variables possibly exposed to the testrunner.
 const (
 	nodenameEnvVar = "FUCHSIA_NODENAME"
-	ipv4EnvVar     = "FUCHSIA_IPV4_ADDR"
 	sshKeyEnvVar   = "FUCHSIA_SSH_KEY"
 )
 
-// FuchsiaDevice represents an ambient Fuchsia device for whose properties may be supplied in the environment.
-type FuchsiaDevice struct {
-	propertyNames []string
-}
-
-// InferFuchsiaDevice returns an ambient FuchsiaDevice if properties are set in the
-// environment; else it returns nil.
-func InferFuchsiaDevice() *FuchsiaDevice {
-	device := FuchsiaDevice{
-		propertyNames: []string{
-			nodenameEnvVar,
-			ipv4EnvVar,
-			sshKeyEnvVar,
-		},
-	}
-	if len(device.Environ()) == 0 {
-		return nil
-	}
-	return &device
-}
-
-// SSHKey returns the private SSH key corresponding to the paved authorized key, if set.
-func (device FuchsiaDevice) SSHKey() string {
-	return os.Getenv(sshKeyEnvVar)
-}
-
-// Nodename returns the nodename of the device, if set.
-func (device FuchsiaDevice) Nodename() string {
-	return os.Getenv(nodenameEnvVar)
-}
-
-// Environ returns the full environment list of device properties set.
-func (device FuchsiaDevice) Environ() []string {
-	var environ []string
-	for _, name := range device.propertyNames {
-		if prop := os.Getenv(name); prop != "" {
-			environ = append(environ, fmt.Sprintf("%s=%s", name, prop))
-		}
-	}
-	return environ
-}
-
 func usage() {
 	fmt.Printf(`testrunner [flags] tests-file
 
@@ -134,12 +90,14 @@
 	}
 
 	// Execute.
-	if err := execute(tests, output, InferFuchsiaDevice()); err != nil {
+	nodename := os.Getenv(nodenameEnvVar)
+	sshKey := os.Getenv(sshKeyEnvVar)
+	if err := execute(tests, output, nodename, sshKey); err != nil {
 		log.Fatal(err)
 	}
 }
 
-func execute(tests []testsharder.Test, output *Output, device *FuchsiaDevice) error {
+func execute(tests []testsharder.Test, output *Output, nodename, sshKey string) error {
 	var linux, mac, fuchsia, unknown []testsharder.Test
 	for _, test := range tests {
 		switch test.OS {
@@ -160,9 +118,7 @@
 
 	localTester := &SubprocessTester{
 		wd: localWD,
-	}
-	if device != nil {
-		localTester.env = append(localTester.env, device.Environ()...)
+		env: os.Environ(),
 	}
 
 	if err := runTests(linux, localTester.Test, output); err != nil {
@@ -173,21 +129,19 @@
 		return err
 	}
 
-	return runFuchsiaTests(fuchsia, output, device)
+	return runFuchsiaTests(fuchsia, output, nodename, sshKey)
 }
 
-func runFuchsiaTests(tests []testsharder.Test, output *Output, device *FuchsiaDevice) error {
+func runFuchsiaTests(tests []testsharder.Test, output *Output, nodename, sshKey string) error {
 	if len(tests) == 0 {
 		return nil
-	} else if device == nil {
-		return errors.New("no fuchsia device present")
-	} else if device.Nodename() == "" {
+	} else if nodename == "" {
 		return fmt.Errorf("%s must be set", nodenameEnvVar)
-	} else if device.SSHKey() == "" {
+	} else if sshKey == "" {
 		return fmt.Errorf("%s must be set", sshKeyEnvVar)
 	}
 
-	tester, err := NewFuchsiaTester(device.Nodename(), device.SSHKey())
+	tester, err := NewFuchsiaTester(nodename, sshKey)
 	if err != nil {
 		return fmt.Errorf("failed to initialize fuchsia tester: %v", err)
 	}