Browse Source

Fix tests on Windows (fixes #1531)

Audrius Butkevicius 10 years ago
parent
commit
7d954dd5d1

+ 2 - 2
internal/config/config_test.go

@@ -341,8 +341,8 @@ func TestWindowsPaths(t *testing.T) {
 	folder.RawPath = `relative\path`
 	expected = folder.RawPath
 	actual = folder.Path()
-	if actual != expected {
-		t.Errorf("%q != %q", actual, expected)
+	if actual == expected || !strings.HasPrefix(actual, "\\\\?\\") {
+		t.Errorf("%q == %q, expected absolutification", actual, expected)
 	}
 }
 

+ 3 - 1
internal/fnmatch/fnmatch_test.go

@@ -69,7 +69,9 @@ var testcases = []testcase{
 
 func TestMatch(t *testing.T) {
 	switch runtime.GOOS {
-	case "windows", "darwin":
+	case "windows":
+		testcases = append(testcases, testcase{"foo.txt", "foo.TXT", 0, true})
+	case "darwin":
 		testcases = append(testcases, testcase{"foo.txt", "foo.TXT", 0, true})
 		fallthrough
 	default:

+ 1 - 0
internal/model/sharedpullerstate_test.go

@@ -78,4 +78,5 @@ func TestReadOnlyDir(t *testing.T) {
 	}
 
 	s.fail("Test done", nil)
+	s.finalClose()
 }

+ 8 - 0
internal/scanner/walk_test.go

@@ -203,6 +203,14 @@ func TestNormalization(t *testing.T) {
 		"5-\xCD\xE2",     // EUC-CN "wài" (外) -- ignored (not UTF8)
 	}
 	numInvalid := 2
+
+	if runtime.GOOS == "windows" {
+		// On Windows, in case 5 the character gets replaced with a
+		// replacement character \xEF\xBF\xBD at the point it's written to disk,
+		// which means it suddenly becomes valid (sort of).
+		numInvalid--
+	}
+
 	numValid := len(tests) - numInvalid
 
 	for _, s1 := range tests {