From 291b8266af1000c77a12ae6d4dde1145a028012f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frank=20Schr=C3=B6der?= Date: Wed, 24 Mar 2021 17:50:46 +0100 Subject: [PATCH] fix time test for older versions --- properties_test.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/properties_test.go b/properties_test.go index b6ab848..727aac2 100644 --- a/properties_test.go +++ b/properties_test.go @@ -13,6 +13,7 @@ import ( "reflect" "regexp" "runtime" + "strconv" "strings" "testing" "time" @@ -563,11 +564,17 @@ func TestMustGetParsedDuration(t *testing.T) { p := mustParse(t, input) assert.Equal(t, p.MustGetParsedDuration("key"), 123*time.Millisecond) - // runtime.Version is go1.x.y or devel or - // ver[0] == major version, ver[1] == minor version + // parse runtime.Version into major and minor version + var major, minor int ver := strings.Split(runtime.Version(), ".") + devel := !strings.HasPrefix(ver[0], "go") + major, _ = strconv.Atoi(strings.TrimPrefix(ver[0], "go")) + if len(ver) > 1 { + minor, _ = strconv.Atoi(ver[1]) + } + switch { - case strings.HasPrefix(ver[0], "go") && ver[1] >= "15": + case devel || major == 1 && minor >= 15: // go1.15 ... gotip assert.Panic(t, func() { p.MustGetParsedDuration("key2") }, `time: invalid duration "ghi"`) default: