Consider this test:
want := time.Duration(math.MinInt64)
got, err := time.ParseDuration(want.String())
if got != want || err != nil {
t.Errorf("time.ParseDuration = (%v, %v), want (%v, nil)", got, err, want)
}
Unfortunately this test fails:
time.ParseDuration = (0s, time: invalid duration "-2562047h47m16.854775808s"), want (-2562047h47m16.854775808s, nil)