diff --git a/e2e/etcd_test.go b/e2e/etcd_test.go index 6bbd97d1e..559f78c32 100644 --- a/e2e/etcd_test.go +++ b/e2e/etcd_test.go @@ -422,11 +422,20 @@ func spawnCmd(args []string) (*expect.ExpectProcess, error) { } func spawnWithExpect(args []string, expected string) error { + return spawnWithExpects(args, []string{expected}...) +} + +func spawnWithExpects(args []string, xs ...string) error { proc, err := spawnCmd(args) if err != nil { return err } - _, err = proc.Expect(expected) + for _, txt := range xs { + _, err = proc.Expect(txt) + if err != nil { + return err + } + } perr := proc.Close() if err != nil { return err diff --git a/e2e/etcdctlv3_test.go b/e2e/etcdctlv3_test.go index 6ea3325b0..55c9c5d42 100644 --- a/e2e/etcdctlv3_test.go +++ b/e2e/etcdctlv3_test.go @@ -130,8 +130,7 @@ func ctlV3Get(clus *etcdProcessCluster, key, value string, dialTimeout time.Dura if !quorum { cmdArgs = append(cmdArgs, "--consistency", "s") } - // TODO: match by value. Currently it prints out both key and value in multi-lines. - return spawnWithExpect(cmdArgs, key) + return spawnWithExpects(cmdArgs, key, value) } func setupCtlV3Test(t *testing.T, cfg *etcdProcessClusterConfig, quorum bool) *etcdProcessCluster {