sensorlog: Address https://v.io/i/1220
- reverts https://v.io/c/20483
- changes v23test to not share a bin dir across test main's
(bin dir is still shared across tests within a given test
main, but that's safe since "go test" will not run such
tests concurrently by default)
- changes v23test.StartRootMountTable and
v23test.StartSyncbase to use gosh.Shell.FuncCmd
(refactoring syncbased and mounttabled as needed to make
this possible)
A side effect of this change is that tests should run much
faster, because for the common case of tests that previously
used StartRootMountTable and/or StartSyncbase, but didn't
directly call BuildGoPkg, we'll no longer build Go packages
during test execution.
MultiPart: 5/5
Change-Id: Idceb4eee171142b5c6bccba26d12ee4f3351d791
diff --git a/go/src/v.io/x/sensorlog/internal/client/device_v23_test.go b/go/src/v.io/x/sensorlog/internal/client/device_v23_test.go
index c47e31c..ce7d5f3 100644
--- a/go/src/v.io/x/sensorlog/internal/client/device_v23_test.go
+++ b/go/src/v.io/x/sensorlog/internal/client/device_v23_test.go
@@ -15,6 +15,8 @@
"v.io/v23"
"v.io/v23/context"
"v.io/v23/naming"
+ "v.io/x/ref/services/mounttable/mounttablelib"
+ "v.io/x/ref/services/syncbase/syncbaselib"
"v.io/x/ref/test/v23test"
sltu "v.io/x/sensorlog/internal/client/testutil"
"v.io/x/sensorlog/internal/measure"
@@ -36,19 +38,17 @@
globalMT, globalMTShutdown := startAdditionalMT(sh, "--v23.tcp.address=127.0.0.1:0")
// Mount the local mounttable in the global one.
localMT := naming.Join(globalMT, "localmt")
- sh.StartRootMountTable("--name=" + localMT)
+ sh.StartRootMountTableWithOpts(mounttablelib.Opts{MountName: localMT})
clientSb := "sb/client"
clientCtx := sh.ForkContext("u:client")
clientSbCreds := sh.ForkCredentials("u:client:sb")
- sh.StartSyncbase(clientSbCreds, clientSb, "",
- `{"Read": {"In":["root:u:client"]}, "Write": {"In":["root:u:client"]}, "Admin": {"In":["root:u:client"]}, "Resolve": {"In":["..."]}}`)
+ sh.StartSyncbase(clientSbCreds, syncbaselib.Opts{Name: clientSb}, `{"Read": {"In":["root:u:client"]}, "Write": {"In":["root:u:client"]}, "Admin": {"In":["root:u:client"]}, "Resolve": {"In":["..."]}}`)
measuredSb := "sb/measured"
measuredCtx := sh.ForkContext("u:measured")
measuredSbCreds := sh.ForkCredentials("u:measured:sb")
- sh.StartSyncbase(measuredSbCreds, measuredSb, "",
- `{"Read": {"In":["root:u:measured"]}, "Write": {"In":["root:u:measured"]}, "Admin": {"In":["root:u:measured"]}, "Resolve": {"In":["..."]}}`)
+ sh.StartSyncbase(measuredSbCreds, syncbaselib.Opts{Name: measuredSb}, `{"Read": {"In":["root:u:measured"]}, "Write": {"In":["root:u:measured"]}, "Admin": {"In":["root:u:measured"]}, "Resolve": {"In":["..."]}}`)
time.Sleep(1 * time.Second)
diff --git a/go/src/v.io/x/sensorlog/internal/client/measured_v23_test.go b/go/src/v.io/x/sensorlog/internal/client/measured_v23_test.go
index ee1c197..1616768 100644
--- a/go/src/v.io/x/sensorlog/internal/client/measured_v23_test.go
+++ b/go/src/v.io/x/sensorlog/internal/client/measured_v23_test.go
@@ -13,6 +13,7 @@
"v.io/v23"
"v.io/v23/context"
"v.io/v23/naming"
+ "v.io/x/ref/services/syncbase/syncbaselib"
"v.io/x/ref/test/v23test"
"v.io/x/sensorlog/internal/client"
sltu "v.io/x/sensorlog/internal/client/testutil"
@@ -30,14 +31,12 @@
clientSb := "sb/client"
clientCtx := sh.ForkContext("u:client")
clientSbCreds := sh.ForkCredentials("u:client:sb")
- sh.StartSyncbase(clientSbCreds, clientSb, "",
- `{"Read": {"In":["root:u:client"]}, "Write": {"In":["root:u:client"]}, "Admin": {"In":["root:u:client"]}, "Resolve": {"In":["..."]}}`)
+ sh.StartSyncbase(clientSbCreds, syncbaselib.Opts{Name: clientSb}, `{"Read": {"In":["root:u:client"]}, "Write": {"In":["root:u:client"]}, "Admin": {"In":["root:u:client"]}, "Resolve": {"In":["..."]}}`)
measuredSb := "sb/measured"
measuredCreds := sh.ForkCredentials("u:measured")
measuredSbCreds := sh.ForkCredentials("u:measured:sb")
- sh.StartSyncbase(measuredSbCreds, measuredSb, "",
- `{"Read": {"In":["root:u:measured"]}, "Write": {"In":["root:u:measured"]}, "Admin": {"In":["root:u:measured"]}, "Resolve": {"In":["..."]}}`)
+ sh.StartSyncbase(measuredSbCreds, syncbaselib.Opts{Name: measuredSb}, `{"Read": {"In":["root:u:measured"]}, "Write": {"In":["root:u:measured"]}, "Admin": {"In":["root:u:measured"]}, "Resolve": {"In":["..."]}}`)
time.Sleep(1 * time.Second)
@@ -45,8 +44,7 @@
measuredPath := v23test.BuildGoPkg(sh, "v.io/x/sensorlog/measured")
devId := "measured1"
publishSb := naming.Join(mtName, measuredSb)
- measured := sh.Cmd(measuredPath, "-alsologtostderr", "-service="+measuredSb,
- "-devid="+devId, "-admin=root:u:client", "-publish-sb="+publishSb)
+ measured := sh.Cmd(measuredPath, "-alsologtostderr", "-service="+measuredSb, "-devid="+devId, "-admin=root:u:client", "-publish-sb="+publishSb)
measured = measured.WithCredentials(measuredCreds)
measured.PropagateOutput = true
measured.Start()