From 4c77cb3087363f2ebab565bd2b46935749ca7dd2 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Sun, 1 Jul 2018 15:01:09 -0700 Subject: [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 TryBot-Result: Gobot Gobot Reviewed-by: Ralph Corderoy Reviewed-by: Brad Fitzpatrick (cherry picked from commit 869884daead156d0e5a4093d91968ed172d4d2d0) Reviewed-on: https://go-review.googlesource.com/124115 Reviewed-by: Bill O'Farrell --- src/strings/compare_test.go | 11 +++++++---- 1 file 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 } } -- cgit v1.2.3-54-g00ecf