@@ -92,11 +92,11 @@ func main() {
92
92
dst = f
93
93
}
94
94
95
- packageName := * packageOut
96
- if packageName == "" {
95
+ outputPackageName := * packageOut
96
+ if outputPackageName == "" {
97
97
// pkg.Name in reflect mode is the base name of the import path,
98
98
// which might have characters that are illegal to have in package names.
99
- packageName = "mock_" + sanitize (pkg .Name )
99
+ outputPackageName = "mock_" + sanitize (pkg .Name )
100
100
}
101
101
102
102
// outputPackagePath represents the fully qualified name of the package of
@@ -137,7 +137,7 @@ func main() {
137
137
138
138
g .copyrightHeader = string (header )
139
139
}
140
- if err := g .Generate (pkg , packageName , outputPackagePath ); err != nil {
140
+ if err := g .Generate (pkg , outputPackageName , outputPackagePath ); err != nil {
141
141
log .Fatalf ("Failed generating mock: %v" , err )
142
142
}
143
143
if _ , err := dst .Write (g .Output ()); err != nil {
@@ -234,8 +234,8 @@ func sanitize(s string) string {
234
234
return t
235
235
}
236
236
237
- func (g * generator ) Generate (pkg * model.Package , pkgName string , outputPackagePath string ) error {
238
- if pkgName != pkg .Name {
237
+ func (g * generator ) Generate (pkg * model.Package , outputPkgName string , outputPackagePath string ) error {
238
+ if outputPkgName != pkg .Name {
239
239
outputPackagePath = ""
240
240
}
241
241
@@ -294,22 +294,27 @@ func (g *generator) Generate(pkg *model.Package, pkgName string, outputPackagePa
294
294
i ++
295
295
}
296
296
297
+ // Avoid importing package if source pkg == output pkg
298
+ if pth == pkg .PkgPath && outputPkgName == pkg .Name {
299
+ continue
300
+ }
301
+
297
302
g .packageMap [pth ] = pkgName
298
303
localNames [pkgName ] = true
299
304
}
300
305
301
306
if * writePkgComment {
302
- g .p ("// Package %v is a generated GoMock package." , pkgName )
307
+ g .p ("// Package %v is a generated GoMock package." , outputPkgName )
303
308
}
304
- g .p ("package %v" , pkgName )
309
+ g .p ("package %v" , outputPkgName )
305
310
g .p ("" )
306
311
g .p ("import (" )
307
312
g .in ()
308
- for pkgPath , pkg := range g .packageMap {
313
+ for pkgPath , pkgName := range g .packageMap {
309
314
if pkgPath == outputPackagePath {
310
315
continue
311
316
}
312
- g .p ("%v %q" , pkg , pkgPath )
317
+ g .p ("%v %q" , pkgName , pkgPath )
313
318
}
314
319
for _ , pkgPath := range pkg .DotImports {
315
320
g .p (". %q" , pkgPath )
0 commit comments