Merge "runtime/internal/rpc: Make ref package tests pass with XServers state."
diff --git a/runtime/internal/rpc/resolve_internal_test.go b/runtime/internal/rpc/resolve_internal_test.go
index 7236ceb..98e9dba 100644
--- a/runtime/internal/rpc/resolve_internal_test.go
+++ b/runtime/internal/rpc/resolve_internal_test.go
@@ -6,8 +6,16 @@
 
 import (
 	"v.io/v23/rpc"
+	"v.io/x/ref"
 )
 
 func InternalServerResolveToEndpoint(s rpc.Server, name string) (string, error) {
+	if ref.RPCTransitionState() == ref.XServers {
+		ep, err := s.(*xserver).resolveToEndpoint(name)
+		if err != nil {
+			return "", err
+		}
+		return ep.String(), nil
+	}
 	return s.(*server).resolveToEndpoint(name)
 }
diff --git a/services/device/deviced/internal/starter/starter.go b/services/device/deviced/internal/starter/starter.go
index 0849d6a..02b875c 100644
--- a/services/device/deviced/internal/starter/starter.go
+++ b/services/device/deviced/internal/starter/starter.go
@@ -20,6 +20,7 @@
 	"v.io/v23/rpc"
 	"v.io/v23/security"
 	"v.io/v23/verror"
+	"v.io/x/ref"
 	displib "v.io/x/ref/lib/dispatcher"
 	"v.io/x/ref/runtime/factories/roaming"
 	"v.io/x/ref/services/debug/debuglib"
@@ -173,7 +174,7 @@
 	}
 	var epName string
 	if args.Device.ListenSpec.Proxy != "" {
-		if os.Getenv("V23_RPC_TRANSITION_STATE") == "xservers" {
+		if ref.RPCTransitionState() == ref.XServers {
 			for {
 				eps := server.Status().Endpoints
 				if len(eps) > 0 && len(eps[0].Addr().Network()) > 0 {
diff --git a/services/xproxyd/proxy_test.go b/services/xproxyd/proxy_test.go
index 34130c5..2414920 100644
--- a/services/xproxyd/proxy_test.go
+++ b/services/xproxyd/proxy_test.go
@@ -7,12 +7,12 @@
 import (
 	"bufio"
 	"fmt"
-	"os"
 	"strings"
 	"sync"
 	"testing"
 	"time"
 
+	"v.io/x/ref"
 	_ "v.io/x/ref/runtime/factories/generic"
 	"v.io/x/ref/services/xproxyd"
 	"v.io/x/ref/test/goroutines"
@@ -37,7 +37,7 @@
 }
 
 func TestProxyRPC(t *testing.T) {
-	if os.Getenv("V23_RPC_TRANSITION_STATE") != "xservers" {
+	if ref.RPCTransitionState() != ref.XServers {
 		t.Skip("Test only runs under 'V23_RPC_TRANSITION_STATE==xservers'")
 	}
 	defer goroutines.NoLeaks(t, leakWaitTime)()
@@ -69,7 +69,7 @@
 }
 
 func TestMultipleProxyRPC(t *testing.T) {
-	if os.Getenv("V23_RPC_TRANSITION_STATE") != "xservers" {
+	if ref.RPCTransitionState() != ref.XServers {
 		t.Skip("Test only runs under 'V23_RPC_TRANSITION_STATE==xservers'")
 	}
 	defer goroutines.NoLeaks(t, leakWaitTime)()