Approval-based snapshot testing library for Go (mirror)
at main 57 lines 1.0 kB view raw
1package main 2 3import ( 4 "flag" 5 "fmt" 6 "os" 7 8 "github.com/ptdewey/shutter" 9) 10 11func main() { 12 flag.Usage = func() { 13 fmt.Fprintf(os.Stderr, `Usage: shutter-cli [COMMAND] 14 15Commands: 16 review Review and accept/reject new snapshots (default) 17 accept-all Accept all new snapshots 18 reject-all Reject all new snapshots 19 help Show this help message 20 21Examples: 22 shutter # Start interactive review 23 shutter review # Same as above 24 shutter accept-all # Accept all new snapshots 25 shutter reject-all # Reject all new snapshots 26`) 27 } 28 29 flag.Parse() 30 31 var cmd string 32 if flag.NArg() > 0 { 33 cmd = flag.Arg(0) 34 } 35 36 var err error 37 switch cmd { 38 case "", "review": 39 err = shutter.Review() 40 case "accept-all": 41 err = shutter.AcceptAll() 42 case "reject-all": 43 err = shutter.RejectAll() 44 case "help", "-h", "--help": 45 flag.Usage() 46 return 47 default: 48 fmt.Fprintf(os.Stderr, "Unknown command: %s\n\n", cmd) 49 flag.Usage() 50 os.Exit(1) 51 } 52 53 if err != nil { 54 fmt.Fprintf(os.Stderr, "Error: %v\n", err) 55 os.Exit(1) 56 } 57}