From e2948f7efeacf34bab99e33fbbf44c9bd502844a Mon Sep 17 00:00:00 2001 From: Kirill Smelkov Date: Mon, 13 Feb 2017 22:28:26 +0300 Subject: [PATCH] cmd/compile: Show arch/os when something in TestAssembly fails It is not always obvious from the first glance when looking at TestAssembly failure in which context the code was generated. For example x86 and x86-64 are similar, and those of us who do not work with assembly every day can even take s390x version as something similar to x86. So when something fails lets print the whole test context - this includes os and arch which were previously missing. An example failure: before: --- FAIL: TestAssembly (40.48s) asm_test.go:46: expected: MOVWZ \(.*\), go: import "encoding/binary" func f(b []byte) uint32 { return binary.LittleEndian.Uint32(b) } asm:"".f t=1 size=160 args=0x20 locals=0x0 ... after: --- FAIL: TestAssembly (40.43s) asm_test.go:46: linux/s390x: expected: MOVWZ \(.*\), go: import "encoding/binary" func f(b []byte) uint32 { return binary.LittleEndian.Uint32(b) } asm:"".f t=1 size=160 args=0x20 locals=0x0 Motivated-by: #18946#issuecomment-279491071 Change-Id: I61089ceec05da7a165718a7d69dec4227dd0e993 Reviewed-on: https://go-review.googlesource.com/36881 Reviewed-by: Brad Fitzpatrick Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- src/cmd/compile/internal/gc/asm_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/gc/asm_test.go b/src/cmd/compile/internal/gc/asm_test.go index c9b2e2f8b4..44e715ffa3 100644 --- a/src/cmd/compile/internal/gc/asm_test.go +++ b/src/cmd/compile/internal/gc/asm_test.go @@ -43,7 +43,7 @@ func TestAssembly(t *testing.T) { } for _, r := range test.regexps { if b, err := regexp.MatchString(r, asm); !b || err != nil { - t.Errorf("expected:%s\ngo:%s\nasm:%s\n", r, test.function, asm) + t.Errorf("%s/%s: expected:%s\ngo:%s\nasm:%s\n", test.os, test.arch, r, test.function, asm) } } } -- 2.50.0