mirror of
https://github.com/golang/go
synced 2024-11-23 19:40:08 -07:00
bytes: vary the input alignment to Compare argument in compare_test.go
Currently there are no tests that vary the alignment of Compare arguments. Since Compare is written in assembly on most platforms (in internal/bytealg) we should be testing different input alignments. This change modifies TestCompare to vary the alignment of the second argument of Compare. Updates #26129 Change-Id: I4c30a5adf96a41225df748675f4e9beea413b35c Reviewed-on: https://go-review.googlesource.com/c/122536 Reviewed-by: Lotus Fenn <fenn.lotus@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
9a9dc36f97
commit
c96c2a39bb
@ -41,9 +41,16 @@ var compareTests = []struct {
|
||||
|
||||
func TestCompare(t *testing.T) {
|
||||
for _, tt := range compareTests {
|
||||
cmp := Compare(tt.a, tt.b)
|
||||
if cmp != tt.i {
|
||||
t.Errorf(`Compare(%q, %q) = %v`, tt.a, tt.b, cmp)
|
||||
numShifts := 16
|
||||
buffer := make([]byte, len(tt.b)+numShifts)
|
||||
// vary the input alignment of tt.b
|
||||
for offset := 0; offset <= numShifts; offset++ {
|
||||
shiftedB := buffer[offset : len(tt.b)+offset]
|
||||
copy(shiftedB, tt.b)
|
||||
cmp := Compare(tt.a, shiftedB)
|
||||
if cmp != tt.i {
|
||||
t.Errorf(`Compare(%q, %q), offset %d = %v; want %v`, tt.a, tt.b, offset, cmp, tt.i)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user