github.com/gobuffalo/buffalo-cli/v2@v2.0.0-alpha.15.0.20200919213536-a7350c8e6799/cli/cmds/test/ifaces_test.go (about) 1 package test 2 3 import ( 4 "context" 5 "os/exec" 6 ) 7 8 var _ Tester = &tester{} 9 10 type tester struct { 11 name string 12 args []string 13 err error 14 } 15 16 func (b *tester) PluginName() string { 17 if len(b.name) == 0 { 18 return "tester" 19 } 20 return b.name 21 } 22 23 func (b *tester) Test(ctx context.Context, root string, args []string) error { 24 b.args = args 25 return b.err 26 } 27 28 var _ BeforeTester = &beforeTester{} 29 30 type beforeTester struct { 31 name string 32 args []string 33 err error 34 } 35 36 func (b *beforeTester) PluginName() string { 37 if len(b.name) == 0 { 38 return "beforeTester" 39 } 40 return b.name 41 } 42 43 func (b *beforeTester) BeforeTest(ctx context.Context, root string, args []string) error { 44 b.args = args 45 return b.err 46 } 47 48 var _ AfterTester = &afterTester{} 49 50 type afterTester struct { 51 name string 52 args []string 53 err error 54 } 55 56 func (b *afterTester) PluginName() string { 57 if len(b.name) == 0 { 58 return "afterTester" 59 } 60 return b.name 61 } 62 63 func (b *afterTester) AfterTest(ctx context.Context, root string, args []string, err error) error { 64 b.args = args 65 b.err = err 66 return err 67 } 68 69 var _ Argumenter = &tagger{} 70 71 type tagger struct { 72 root string 73 tags []string 74 err error 75 } 76 77 func (tagger) PluginName() string { 78 return "tagger" 79 } 80 81 func (b *tagger) TestArgs(ctx context.Context, root string) ([]string, error) { 82 b.root = root 83 return b.tags, b.err 84 } 85 86 var _ Runner = &bladeRunner{} 87 88 type bladeRunner struct { 89 cmd *exec.Cmd 90 err error 91 } 92 93 func (bladeRunner) PluginName() string { 94 return "blade" 95 } 96 97 func (b *bladeRunner) RunTests(ctx context.Context, root string, cmd *exec.Cmd) error { 98 b.cmd = cmd 99 return b.err 100 }