(a ...interface{})
| 87 | func Func(f func()) { f() } |
| 88 | |
| 89 | func _panic(a ...interface{}) { |
| 90 | msg := "DEBUG PANIC: " |
| 91 | if len(a) > 0 { |
| 92 | msg += fmt.Sprint(a...) + ": " |
| 93 | } |
| 94 | buffer := bytes.NewBuffer(make([]byte, 0, 1024)) |
| 95 | fmt.Fprint(buffer, msg) |
| 96 | for i := 2; i < 9; i++ { |
| 97 | if _, file, line, ok := runtime.Caller(i); !ok { |
| 98 | break |
| 99 | } else { |
| 100 | if !strings.Contains(file, "aistore") { |
| 101 | break |
| 102 | } |
| 103 | f := filepath.Base(file) |
| 104 | if buffer.Len() > len(msg) { |
| 105 | buffer.WriteString(" <- ") |
| 106 | } |
| 107 | fmt.Fprintf(buffer, "%s:%d", f, line) |
| 108 | } |
| 109 | } |
| 110 | glog.Errorf("%s", buffer.Bytes()) |
| 111 | glog.Flush() |
| 112 | panic(msg) |
| 113 | } |
| 114 | |
| 115 | func Assert(cond bool, a ...interface{}) { |
| 116 | if !cond { |
no test coverage detected