| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package testutil |
| |
| import ( |
| "fmt" |
| "path/filepath" |
| "runtime" |
| ) |
| |
| // FormatLogLine will prepend the file and line number of the caller |
| // at the specificied depth (as per runtime.Caller) to the supplied |
| // format and args and return a formatted string. It is useful when |
| // implementing functions that factor out error handling and reporting |
| // in tests. |
| func FormatLogLine(depth int, format string, args ...interface{}) string { |
| _, file, line, _ := runtime.Caller(depth) |
| nargs := []interface{}{filepath.Base(file), line} |
| nargs = append(nargs, args...) |
| return fmt.Sprintf("%s:%d: "+format, nargs...) |
| } |