diff --git a/utils/utils.go b/utils/utils.go index 8d0b509d..2d87f4c2 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -23,11 +23,11 @@ func sourceDir(file string) string { dir := filepath.Dir(file) dir = filepath.Dir(dir) - parent := filepath.Dir(dir) - if filepath.Base(parent) == "gorm.io" { - return parent + s := filepath.Dir(dir) + if filepath.Base(s) != "gorm.io" { + s = dir } - return dir + return s + string(filepath.Separator) } // 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 c0a7343e..da97aa2c 100644 --- a/utils/utils_unix_test.go +++ b/utils/utils_unix_test.go @@ -8,20 +8,20 @@ func TestSourceDir(t *testing.T) { want string }{ { - file: "/Users/name/go/pkg/mod/gorm.io/gorm@v1.24.1/utils/utils.go", - want: "/Users/name/go/pkg/mod/gorm.io", + file: "/Users/name/go/pkg/mod/gorm.io/gorm@v1.2.3/utils/utils.go", + want: "/Users/name/go/pkg/mod/gorm.io/", }, { file: "/go/work/proj/gorm/utils/utils.go", - want: "/go/work/proj/gorm", + want: "/go/work/proj/gorm/", }, { file: "/go/work/proj/gorm_alias/utils/utils.go", - want: "/go/work/proj/gorm_alias", + want: "/go/work/proj/gorm_alias/", }, { - file: "/go/work/proj/my.gorm.io/gorm@v1.24.1/utils/utils.go", - want: "/go/work/proj/my.gorm.io/gorm@v1.24.1", + file: "/go/work/proj/my.gorm.io/gorm@v1.2.3/utils/utils.go", + want: "/go/work/proj/my.gorm.io/gorm@v1.2.3/", }, } for _, c := range cases {