Approval-based snapshot testing library for Go (mirror)
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}