From: Kirill Smelkov Date: Mon, 13 Feb 2017 19:28:26 +0000 (+0300) Subject: cmd/compile: Show arch/os when something in TestAssembly fails X-Git-Tag: go1.9beta1~1583 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e2948f7efeacf34bab99e33fbbf44c9bd502844a;p=gostls13.git 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 --- 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) } } }