Browse Source

e2e: check for empty string as etcdctl backup result

Was checking for an ignored wal file warning. Added support for
TMPDIR since repeated runs were failing on left over test data.
Anthony Romano 9 years ago
parent
commit
6686833e51
2 changed files with 13 additions and 14 deletions
  1. 9 8
      e2e/ctl_v2_test.go
  2. 4 6
      e2e/etcd_test.go

+ 9 - 8
e2e/ctl_v2_test.go

@@ -15,7 +15,7 @@
 package e2e
 
 import (
-	"fmt"
+	"io/ioutil"
 	"os"
 	"strings"
 	"testing"
@@ -232,10 +232,12 @@ func TestCtlV2RoleList(t *testing.T) {
 func TestCtlV2Backup(t *testing.T) { // For https://github.com/coreos/etcd/issues/5360
 	defer testutil.AfterTest(t)
 
-	var (
-		backupDirPrefix = "testbackup"
-		backupDir       = fmt.Sprintf("%s0.etcd", backupDirPrefix)
-	)
+	backupDir, err := ioutil.TempDir("", "testbakcup0.etcd")
+	if err != nil {
+		t.Fatal(err)
+	}
+	defer os.RemoveAll(backupDir)
+
 	epc1 := setupEtcdctlTest(t, &configNoTLS, false)
 	if err := etcdctlSet(epc1, "foo1", "bar"); err != nil {
 		t.Fatal(err)
@@ -244,7 +246,6 @@ func TestCtlV2Backup(t *testing.T) { // For https://github.com/coreos/etcd/issue
 	if err := etcdctlBackup(epc1, epc1.procs[0].cfg.dataDirPath, backupDir); err != nil {
 		t.Fatal(err)
 	}
-	defer os.RemoveAll(backupDir)
 
 	if err := epc1.Close(); err != nil {
 		t.Fatalf("error closing etcd processes (%v)", err)
@@ -252,7 +253,7 @@ func TestCtlV2Backup(t *testing.T) { // For https://github.com/coreos/etcd/issue
 
 	// restart from the backup directory
 	cfg2 := configNoTLS
-	cfg2.dataDirPathPrefix = backupDirPrefix
+	cfg2.dataDirPath = backupDir
 	cfg2.keepDataDir = true
 	cfg2.forceNewCluster = true
 	epc2 := setupEtcdctlTest(t, &cfg2, false)
@@ -383,7 +384,7 @@ func etcdctlAuthEnable(clus *etcdProcessCluster) error {
 
 func etcdctlBackup(clus *etcdProcessCluster, dataDir, backupDir string) error {
 	cmdArgs := append(etcdctlPrefixArgs(clus), "backup", "--data-dir", dataDir, "--backup-dir", backupDir)
-	return spawnWithExpect(cmdArgs, "wal: ignored file")
+	return spawnWithExpects(cmdArgs)
 }
 
 func mustEtcdctl(t *testing.T) {

+ 4 - 6
e2e/etcd_test.go

@@ -137,8 +137,8 @@ type etcdProcessConfig struct {
 }
 
 type etcdProcessClusterConfig struct {
-	dataDirPathPrefix string
-	keepDataDir       bool
+	dataDirPath string
+	keepDataDir bool
 
 	clusterSize       int
 	basePort          int
@@ -226,10 +226,8 @@ func (cfg *etcdProcessClusterConfig) etcdProcessConfigs() []*etcdProcessConfig {
 
 		purl := url.URL{Scheme: peerScheme, Host: fmt.Sprintf("localhost:%d", port+1)}
 		name := fmt.Sprintf("testname%d", i)
-		var dataDirPath string
-		if cfg.dataDirPathPrefix != "" {
-			dataDirPath = fmt.Sprintf("%s%d.etcd", cfg.dataDirPathPrefix, i)
-		} else {
+		dataDirPath := cfg.dataDirPath
+		if cfg.dataDirPath == "" {
 			var derr error
 			dataDirPath, derr = ioutil.TempDir("", name+".etcd")
 			if derr != nil {