github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/qiuyesuifeng/goyacc/all_test.go (about) 1 // Copyright 2014 The goyacc Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package main 6 7 import ( 8 "flag" 9 "fmt" 10 "os" 11 "path" 12 "runtime" 13 "strings" 14 "testing" 15 ) 16 17 func caller(s string, va ...interface{}) { 18 _, fn, fl, _ := runtime.Caller(2) 19 fmt.Printf("caller: %s:%d: ", path.Base(fn), fl) 20 fmt.Printf(s, va...) 21 fmt.Println() 22 _, fn, fl, _ = runtime.Caller(1) 23 fmt.Printf("\tcallee: %s:%d: ", path.Base(fn), fl) 24 fmt.Println() 25 } 26 27 func dbg(s string, va ...interface{}) { 28 if s == "" { 29 s = strings.Repeat("%v ", len(va)) 30 } 31 _, fn, fl, _ := runtime.Caller(1) 32 fmt.Printf("dbg %s:%d: ", path.Base(fn), fl) 33 fmt.Printf(s, va...) 34 fmt.Println() 35 } 36 37 func TODO(...interface{}) string { 38 _, fn, fl, _ := runtime.Caller(1) 39 return fmt.Sprintf("TODO: %s:%d:\n", path.Base(fn), fl) 40 } 41 42 func use(...interface{}) {} 43 44 // ============================================================================ 45 46 var ( 47 oSrc = flag.String("src", "", "test src") 48 oDev = flag.Bool("dev", false, "enable dev test(s)") 49 oDevOut = flag.String("devout", os.DevNull, "dev test -o replacement") 50 ) 51 52 func TestDev(t *testing.T) { 53 if !*oDev { 54 t.Log("use -dev to enable") 55 return 56 } 57 58 *oOut = *oDevOut 59 if s := *oSrc; s != "" { 60 err := main1(s) 61 if err != nil { 62 t.Fatal(err) 63 } 64 } 65 }