Repository: qpid-proton Updated Branches: refs/heads/master 90dbf46cc -> ded03b190
NO-JIRA: [go] Remove testing.TB.Helper(), only available from Go 1.9 Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/ded03b19 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/ded03b19 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/ded03b19 Branch: refs/heads/master Commit: ded03b190016780200b78df0c77612513b58ee0a Parents: 90dbf46 Author: Alan Conway <acon...@redhat.com> Authored: Tue Oct 23 20:48:13 2018 -0400 Committer: Alan Conway <acon...@redhat.com> Committed: Wed Oct 24 10:16:11 2018 -0400 ---------------------------------------------------------------------- go/src/qpid.apache.org/electron/common_test.go | 11 ++--- go/src/qpid.apache.org/internal/test/test.go | 54 ++++++++++----------- 2 files changed, 31 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ded03b19/go/src/qpid.apache.org/electron/common_test.go ---------------------------------------------------------------------- diff --git a/go/src/qpid.apache.org/electron/common_test.go b/go/src/qpid.apache.org/electron/common_test.go index 56c0e44..59ee616 100644 --- a/go/src/qpid.apache.org/electron/common_test.go +++ b/go/src/qpid.apache.org/electron/common_test.go @@ -82,9 +82,8 @@ func newPipe(t testing.TB, clientOpts, serverOpts []ConnectionOption) *pair { // AMQP pair linked by TCP socket func newSocketPair(t testing.TB, clientOpts, serverOpts []ConnectionOption) *pair { - t.Helper() l, err := net.Listen("tcp4", ":0") // For systems with ipv6 disabled - test.FatalIf(t, err) + test.FatalIfN(1, t, err) var srv Connection var srvErr error var wg sync.WaitGroup @@ -95,9 +94,9 @@ func newSocketPair(t testing.TB, clientOpts, serverOpts []ConnectionOption) *pai }() addr := l.Addr() cli, err := NewContainer("client").Dial(addr.Network(), addr.String(), clientOpts...) - test.FatalIf(t, err) + test.FatalIfN(1, t, err) wg.Wait() - test.FatalIf(t, srvErr) + test.FatalIfN(1, t, srvErr) return newPair(t, cli, srv) } @@ -106,7 +105,7 @@ func (p *pair) close() { p.client.Connection().Close(nil); p.server.Close(nil) } // Return a client sender and server receiver func (p *pair) sender(opts ...LinkOption) (Sender, Receiver) { snd, err := p.client.Sender(opts...) - test.FatalIf(p.t, err) + test.FatalIfN(1, p.t, err) rcv := <-p.rchan return snd, rcv } @@ -114,7 +113,7 @@ func (p *pair) sender(opts ...LinkOption) (Sender, Receiver) { // Return a client receiver and server sender func (p *pair) receiver(opts ...LinkOption) (Receiver, Sender) { rcv, err := p.client.Receiver(opts...) - test.FatalIf(p.t, err) + test.FatalIfN(1, p.t, err) snd := <-p.schan return rcv, snd } http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ded03b19/go/src/qpid.apache.org/internal/test/test.go ---------------------------------------------------------------------- diff --git a/go/src/qpid.apache.org/internal/test/test.go b/go/src/qpid.apache.org/internal/test/test.go index 6429d01..c3508ae 100644 --- a/go/src/qpid.apache.org/internal/test/test.go +++ b/go/src/qpid.apache.org/internal/test/test.go @@ -28,46 +28,44 @@ import ( "testing" ) -// The testing.TB.Helper() function does not seem to work -func decorate(msg string, callDepth int) string { - _, file, line, _ := runtime.Caller(callDepth + 1) // annotate with location of caller. +// The testing.TB.Helper() is only available from Go 1.9. +// Decorate messages with the correct file:line at callDepth before calling +// before calling a testing.TB method. +func decorate(method func(arg ...interface{}), callDepth int, msg string) { + _, file, line, _ := runtime.Caller(callDepth + 1) _, file = path.Split(file) - return fmt.Sprintf("\n%s:%d: %v", file, line, msg) + method(fmt.Sprintf("\n%s:%d: %v", file, line, msg)) } -func message(err error, args ...interface{}) (msg string) { - if len(args) > 0 { - msg = fmt.Sprintf(args[0].(string), args[1:]...) + ": " - } - msg = msg + err.Error() - return -} - -// ErrorIf calls t.Error() if err != nil, with optional format message -func ErrorIf(t testing.TB, err error, format ...interface{}) error { - t.Helper() +// Format a message and call method if err != nil +func checkErr(method func(arg ...interface{}), callDepth int, err error, format ...interface{}) error { if err != nil { - t.Error(message(err, format...)) + var msg string + if len(format) > 0 { + msg = fmt.Sprintf("%v: %v", fmt.Sprintf(format[0].(string), format[1:]...), err) + } else { + msg = err.Error() + } + decorate(method, callDepth+1, msg) } return err } -// ErrorIf calls t.Fatal() if err != nil, with optional format message -func FatalIf(t testing.TB, err error, format ...interface{}) { - t.Helper() - if err != nil { - t.Fatal(message(err, format...)) - } +func ErrorIfN(callDepth int, t testing.TB, err error, format ...interface{}) error { + return checkErr(t.Error, callDepth+1, err, format...) +} + +func ErrorIf(t testing.TB, err error, format ...interface{}) error { + return ErrorIfN(1, t, err, format...) } -// Extend the methods on testing.TB -type TB struct{ testing.TB } +func FatalIfN(callDepth int, t testing.TB, err error, format ...interface{}) { + checkErr(t.Fatal, callDepth+1, err, format...) +} -func (t *TB) ErrorIf(err error, format ...interface{}) error { - t.Helper() - return ErrorIf(t, err, format...) +func FatalIf(t testing.TB, err error, format ...interface{}) { + FatalIfN(1, t, err, format...) } -func (t *TB) FatalIf(err error, format ...interface{}) { t.Helper(); FatalIf(t, err, format...) } // if reflect.DeepEqual(want, got) { return nil } else { return error("want != got" }) func Differ(want interface{}, got interface{}) error { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org