From: Russ Cox Date: Wed, 30 Nov 2011 18:36:25 +0000 (-0500) Subject: encoding/asn1: fix test on OpenBSD X-Git-Tag: weekly.2011-12-01~11 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e812db35581d257fb2d3518509898fc22bdd2d48;p=gostls13.git encoding/asn1: fix test on OpenBSD time.Parse uses time.Local if it has the right zone offset, otherwise it calls time.FixedZone. The test's use of reflect.DeepEqual meant that the test expected time.FixedZone always, failing when the local time zone really would have used -0700 for that time. The fix is to format the time to display only the pieces we intend to test. R=golang-dev, agl, iant CC=golang-dev https://golang.org/cl/5437088 --- diff --git a/src/pkg/encoding/asn1/asn1_test.go b/src/pkg/encoding/asn1/asn1_test.go index ea1906a7b6..2e6fccf7b8 100644 --- a/src/pkg/encoding/asn1/asn1_test.go +++ b/src/pkg/encoding/asn1/asn1_test.go @@ -223,13 +223,21 @@ var utcTestData = []timeTest{ func TestUTCTime(t *testing.T) { for i, test := range utcTestData { ret, err := parseUTCTime([]byte(test.in)) - if (err == nil) != test.ok { - t.Errorf("#%d: Incorrect error result (did fail? %v, expected: %v)", i, err == nil, test.ok) - } - if err == nil { - if !reflect.DeepEqual(test.out, ret) { - t.Errorf("#%d: Bad result: %v (expected %v)", i, ret, test.out) + if err != nil { + if test.ok { + t.Errorf("#%d: parseUTCTime(%q) = error %v", i, err) } + continue + } + if !test.ok { + t.Errorf("#%d: parseUTCTime(%q) succeeded, should have failed", i) + continue + } + const format = "Jan _2 15:04:05 -0700 2006" // ignore zone name, just offset + have := ret.Format(format) + want := test.out.Format(format) + if have != want { + t.Errorf("#%d: parseUTCTime(%q) = %s, want %s", test.in, have, want) } } }