aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2018-07-01 15:01:09 -0700
committerIan Lance Taylor <iant@golang.org>2018-07-16 23:14:19 +0000
commit4c77cb3087363f2ebab565bd2b46935749ca7dd2 (patch)
tree99865ec646156b5bc08326ab15ad448770020796
parent0931e9fef3d0a654a86fdee57a05f4937265e291 (diff)
downloadgo-4c77cb3087363f2ebab565bd2b46935749ca7dd2.tar.gz
go-4c77cb3087363f2ebab565bd2b46935749ca7dd2.zip
[release-branch.go1.10] 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: Ralph Corderoy <ralph@inputplus.co.uk> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> (cherry picked from commit 869884daead156d0e5a4093d91968ed172d4d2d0) Reviewed-on: https://go-review.googlesource.com/124115 Reviewed-by: Bill O'Farrell <billotosyr@gmail.com>
-rw-r--r--src/strings/compare_test.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/strings/compare_test.go b/src/strings/compare_test.go
index 712e5a741e..5d5334461c 100644
--- a/src/strings/compare_test.go
+++ b/src/strings/compare_test.go
@@ -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
}
}