func genMock(iface *mockery.Interface) { defer func() { if r := recover(); r != nil { fmt.Printf("Unable to generated mock for '%s': %s\n", iface.Name, r) return } }() var out io.Writer name := iface.Name if *fPrint { out = os.Stdout } else { var path string if *fIP { path = filepath.Join(filepath.Dir(iface.Path), "mock_"+name+".go") } else { path = filepath.Join(*fOutput, name+".go") os.MkdirAll(filepath.Dir(path), 0755) } f, err := os.Create(path) if err != nil { fmt.Printf("Unable to create output file for generated mock: %s\n", err) os.Exit(1) } defer f.Close() out = f fmt.Printf("Generating mock for: %s\n", name) } gen := mockery.NewGenerator(iface) if *fIP { gen.GenerateIPPrologue() } else { gen.GeneratePrologue() } err := gen.Generate() if err != nil { fmt.Printf("Error with %s: %s\n", name, err) os.Exit(1) } err = gen.Write(out) if err != nil { fmt.Printf("Error writing %s: %s\n", name, err) os.Exit(1) } }
func genMock(iface *mockery.Interface) { defer func() { if r := recover(); r != nil { fmt.Printf("Unable to generated mock for '%s': %s\n", iface.Name, r) return } }() var out io.Writer pkg := "mocks" name := iface.Name caseName := iface.Name if *fCase == "underscore" { caseName = underscoreCaseName(caseName) } if *fPrint { out = os.Stdout } else { var path string if *fIP { path = filepath.Join(filepath.Dir(iface.Path), filename(caseName)) } else { path = filepath.Join(*fOutput, filename(caseName)) os.MkdirAll(filepath.Dir(path), 0755) pkg = filepath.Base(filepath.Dir(path)) } f, err := os.Create(path) if err != nil { fmt.Printf("Unable to create output file for generated mock: %s\n", err) os.Exit(1) } defer f.Close() out = f fmt.Printf("Generating mock for: %s\n", name) } gen := mockery.NewGenerator(iface) if *fIP { gen.GenerateIPPrologue() } else { gen.GeneratePrologue(pkg) } gen.GeneratePrologueNote(*fNote) err := gen.Generate() if err != nil { fmt.Printf("Error with %s: %s\n", name, err) os.Exit(1) } err = gen.Write(out) if err != nil { fmt.Printf("Error writing %s: %s\n", name, err) os.Exit(1) } }
func genMock(iface *mockery.Interface) { defer func() { if r := recover(); r != nil { fmt.Printf("Unable to generated mock for '%s': %s\n", iface.Name, r) return } }() var out io.Writer pkg := "mocks" name := iface.Name caseName := iface.Name if *fCase == "underscore" { rxp := regexp.MustCompile("(.)([A-Z])") caseName = strings.ToLower(rxp.ReplaceAllString(caseName, "$1_$2")) } if *fPrint { out = os.Stdout } else { var path string if *fIP { path = filepath.Join(filepath.Dir(iface.Path), "mock_"+caseName+".go") } else { path = filepath.Join(*fOutput, caseName+".go") os.MkdirAll(filepath.Dir(path), 0755) pkg = filepath.Base(filepath.Dir(path)) } f, err := os.Create(path) if err != nil { fmt.Printf("Unable to create output file for generated mock: %s\n", err) os.Exit(1) } defer f.Close() out = f fmt.Printf("Generating mock for: %s\n", name) } gen := mockery.NewGenerator(iface) if *fIP { gen.GenerateIPPrologue() } else { gen.GeneratePrologue(pkg) } err := gen.Generate() if err != nil { fmt.Printf("Error with %s: %s\n", name, err) os.Exit(1) } err = gen.Write(out) if err != nil { fmt.Printf("Error writing %s: %s\n", name, err) os.Exit(1) } }