diff --git a/utils/utils.go b/utils/utils.go index 2d87f4c2..e08533cd 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -27,7 +27,7 @@ func sourceDir(file string) string { if filepath.Base(s) != "gorm.io" { s = dir } - return s + string(filepath.Separator) + return filepath.ToSlash(s) + "/" } // FileWithLineNum return the file name and line number of the current file diff --git a/utils/utils_unix_test.go b/utils/utils_unix_test.go index da97aa2c..450cbe2a 100644 --- a/utils/utils_unix_test.go +++ b/utils/utils_unix_test.go @@ -1,6 +1,11 @@ +//go:build unix +// +build unix + package utils -import "testing" +import ( + "testing" +) func TestSourceDir(t *testing.T) { cases := []struct { diff --git a/utils/utils_windows_test.go b/utils/utils_windows_test.go index d1734e0e..8b1c519d 100644 --- a/utils/utils_windows_test.go +++ b/utils/utils_windows_test.go @@ -1,6 +1,8 @@ package utils -import "testing" +import ( + "testing" +) func TestSourceDir(t *testing.T) { cases := []struct { @@ -8,20 +10,20 @@ func TestSourceDir(t *testing.T) { want string }{ { - file: `C:\Users\name\go\pkg\mod\gorm.io\gorm@v1.20.8\utils\utils.go`, - want: `C:\Users\name\go\pkg\mod\gorm.io`, + file: `C:/Users/name/go/pkg/mod/gorm.io/gorm@v1.2.3/utils/utils.go`, + want: `C:/Users/name/go/pkg/mod/gorm.io/`, }, { - file: `C:\go\work\proj\gorm\utils\utils.go`, - want: `C:\go\work\proj\gorm`, + file: `C:/go/work/proj/gorm/utils/utils.go`, + want: `C:/go/work/proj/gorm/`, }, { - file: `C:\go\work\proj\gorm_alias\utils\utils.go`, - want: `C:\go\work\proj\gorm_alias`, + file: `C:/go/work/proj/gorm_alias/utils/utils.go`, + want: `C:/go/work/proj/gorm_alias/`, }, { - file: `C:\go\work\proj\my.gorm.io\gorm\utils\utils.go`, - want: `C:\go\work\proj\my.gorm.io\gorm`, + file: `C:/go/work/proj/my.gorm.io/gorm@v1.2.3/utils/utils.go`, + want: `C:/go/work/proj/my.gorm.io/gorm@v1.2.3/`, }, } for _, c := range cases {