Commit 869884da authored by Ian Lance Taylor's avatar Ian Lance Taylor

strings: do much less redundant testing in TestCompareStrings

On the OpenBSD builder this reduces the test time from 213 seconds to
60 seconds, without loss of testing.

Not sure why the test is so much slower on OpenBSD, so not closing the
issues.

Updates #26155
Updates #26174

Change-Id: I13b58bbe3b209e591c308765077d2342943a3d2a
Reviewed-on: https://go-review.googlesource.com/121820
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarRalph Corderoy <ralph@inputplus.co.uk>
Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
parent 5110d19f
......@@ -66,6 +66,7 @@ func TestCompareStrings(t *testing.T) {
n := lengths[len(lengths)-1]
a := make([]byte, n+1)
b := make([]byte, n+1)
lastLen := 0
for _, len := range lengths {
// randomish but deterministic data. No 0 or 255.
for i := 0; i < len; i++ {
......@@ -78,21 +79,22 @@ func TestCompareStrings(t *testing.T) {
b[i] = 9
}
cmp := Compare(string(a[:len]), string(b[:len]))
sa, sb := string(a), string(b)
cmp := Compare(sa[:len], sb[:len])
if cmp != 0 {
t.Errorf(`CompareIdentical(%d) = %d`, len, cmp)
}
if len > 0 {
cmp = Compare(string(a[:len-1]), string(b[:len]))
cmp = Compare(sa[:len-1], sb[:len])
if cmp != -1 {
t.Errorf(`CompareAshorter(%d) = %d`, len, cmp)
}
cmp = Compare(string(a[:len]), string(b[:len-1]))
cmp = Compare(sa[:len], sb[:len-1])
if cmp != 1 {
t.Errorf(`CompareBshorter(%d) = %d`, len, cmp)
}
}
for k := 0; k < len; k++ {
for k := lastLen; k < len; k++ {
b[k] = a[k] - 1
cmp = Compare(string(a[:len]), string(b[:len]))
if cmp != 1 {
......@@ -105,5 +107,6 @@ func TestCompareStrings(t *testing.T) {
}
b[k] = a[k]
}
lastLen = len
}
}
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