瀏覽代碼

Fix cassandraVersion.Before() call (#1202)

* Fixes the Before() call

Signed-off-by: Alex Lourie <alex@instaclustr.com>

* Review comments

Signed-off-by: Alex Lourie <alex@instaclustr.com>
Alex Lourie 7 年之前
父節點
當前提交
a16518d75a
共有 3 個文件被更改,包括 13 次插入7 次删除
  1. 1 1
      cassandra_test.go
  2. 10 5
      host_source.go
  3. 2 1
      host_source_test.go

+ 1 - 1
cassandra_test.go

@@ -2834,7 +2834,7 @@ func TestUnmarshallNestedTypes(t *testing.T) {
 }
 
 func TestSchemaReset(t *testing.T) {
-	if flagCassVersion.Major == 0 || (flagCassVersion.Before(2, 1, 3)) {
+	if flagCassVersion.Major == 0 || flagCassVersion.Before(2, 1, 3) {
 		t.Skipf("skipping TestSchemaReset due to CASSANDRA-7910 in Cassandra <2.1.3 version=%v", flagCassVersion)
 	}
 

+ 10 - 5
host_source.go

@@ -73,12 +73,17 @@ func (c *cassVersion) unmarshal(data []byte) error {
 }
 
 func (c cassVersion) Before(major, minor, patch int) bool {
-	if c.Major > major {
-		return true
-	} else if c.Minor > minor {
-		return true
-	} else if c.Patch > patch {
+	// We're comparing us (cassVersion) with the provided version (major, minor, patch)
+	// We return true if our version is lower (comes before) than the provided one.
+	if c.Major < major {
 		return true
+	} else if c.Major == major {
+		if c.Minor < minor {
+			return true
+		} else if c.Minor == minor && c.Patch < patch {
+			return true
+		}
+
 	}
 	return false
 }

+ 2 - 1
host_source_test.go

@@ -38,10 +38,11 @@ func TestCassVersionBefore(t *testing.T) {
 
 		{cassVersion{1, 0, 0}, 0, 1, 0},
 		{cassVersion{0, 1, 0}, 0, 0, 1},
+		{cassVersion{4, 1, 0}, 3, 1, 2},
 	}
 
 	for i, test := range tests {
-		if !test.version.Before(test.major, test.minor, test.patch) {
+		if test.version.Before(test.major, test.minor, test.patch) {
 			t.Errorf("%d: expected v%d.%d.%d to be before %v", i, test.major, test.minor, test.patch, test.version)
 		}
 	}