]> Cypherpunks repositories - gostls13.git/commitdiff
reflect: make map test independent of map iteration order.
authorDavid Symonds <dsymonds@golang.org>
Tue, 18 Oct 2011 01:47:34 +0000 (12:47 +1100)
committerDavid Symonds <dsymonds@golang.org>
Tue, 18 Oct 2011 01:47:34 +0000 (12:47 +1100)
This should fix the 386 builds.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5298042

src/pkg/reflect/all_test.go

index 915c84d3e7a0e0f072f055bf0f5533af766c137f..2080548d75f504edc9d7a7bfb46e3a34872e835f 100644 (file)
@@ -877,19 +877,20 @@ func TestMap(t *testing.T) {
                t.Errorf("Len = %d, want %d", n, len(m))
        }
        keys := mv.MapKeys()
-       i := 0
        newmap := MakeMap(mv.Type())
        for k, v := range m {
                // Check that returned Keys match keys in range.
-               // These aren't required to be in the same order,
-               // but they are in this implementation, which makes
-               // the test easier.
-               if i >= len(keys) {
-                       t.Errorf("Missing key #%d %q", i, k)
-               } else if kv := keys[i]; kv.String() != k {
-                       t.Errorf("Keys[%q] = %q, want %q", i, kv.String(), k)
+               // These aren't required to be in the same order.
+               seen := false
+               for _, kv := range keys {
+                       if kv.String() == k {
+                               seen = true
+                               break
+                       }
+               }
+               if !seen {
+                       t.Errorf("Missing key %q", k)
                }
-               i++
 
                // Check that value lookup is correct.
                vv := mv.MapIndex(ValueOf(k))