Commit 0bcf8bcd authored by Giovanni Bajo's avatar Giovanni Bajo

test: in asmcheck, regexp must match from beginning of line

This avoid simple bugs like "ADD" matching "FADD". Obviously
"ADD" will still match "ADDQ" so some care is still required
in this regard, but at least a first class of possible errors
is taken care of.

Change-Id: I7deb04c31de30bedac9c026d9889ace4a1d2adcb
Reviewed-on: https://go-review.googlesource.com/97817Reviewed-by: 's avatarGiovanni Bajo <rasky@develer.com>
Reviewed-by: 's avatarKeith Randall <khr@golang.org>
parent 879a1ff1
......@@ -1307,7 +1307,16 @@ func (t *test) wantedAsmOpcodes(fn string) (map[string]map[string][]wantedAsmOpc
if err != nil {
log.Fatalf("%s:%d: error unquoting string: %v", t.goFileName(), i+1, err)
}
oprx, err := regexp.Compile(rxsrc)
// Compile the checks as regular expressions. Notice that we
// consider checks as matching from the beginning of the actual
// assembler source (that is, what is left on each line of the
// compile -S output after we strip file/line info) to avoid
// trivial bugs such as "ADD" matching "FADD". This
// doesn't remove genericity: it's still possible to write
// something like "F?ADD", but we make common cases simpler
// to get right.
oprx, err := regexp.Compile("^" + rxsrc)
if err != nil {
log.Fatalf("%s:%d: %v", t.goFileName(), i+1, err)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment