瀏覽代碼

functional-tester/tester: test shuffled cases are equal when sorted

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 年之前
父節點
當前提交
6d8d8a6dcb
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. 13 0
      tools/functional-tester/tester/cluster_test.go

+ 13 - 0
tools/functional-tester/tester/cluster_test.go

@@ -16,6 +16,7 @@ package tester
 
 import (
 	"reflect"
+	"sort"
 	"testing"
 
 	"github.com/coreos/etcd/tools/functional-tester/rpcpb"
@@ -186,4 +187,16 @@ func Test_newCluster(t *testing.T) {
 	if reflect.DeepEqual(fs2, fs3) {
 		t.Fatalf("expected reshuffled failure cases from %q, got %q", fs2, fs3)
 	}
+
+	// shuffle ensures visit all exactly once
+	// so when sorted, failure cases must be equal
+	sort.Strings(fs1)
+	sort.Strings(fs2)
+	sort.Strings(fs3)
+	if !reflect.DeepEqual(fs1, fs2) {
+		t.Fatalf("expected %q, got %q", fs1, fs2)
+	}
+	if !reflect.DeepEqual(fs2, fs3) {
+		t.Fatalf("expected %q, got %q", fs2, fs3)
+	}
 }