Don't rerun certificate manager tests as subtests 1000 times.

Instead, run the core verification repeatedly.
This commit is contained in:
Ryan Hitchman 2017-05-31 13:55:53 -07:00
parent 7043372d05
commit 49987707a7

View File

@ -202,21 +202,22 @@ func TestSetRotationDeadline(t *testing.T) {
}
for _, tc := range testCases {
for i := 0; i < 1000; i++ {
t.Run(tc.name, func(t *testing.T) {
m := manager{
cert: &tls.Certificate{
Leaf: &x509.Certificate{
NotBefore: tc.notBefore,
NotAfter: tc.notAfter,
},
t.Run(tc.name, func(t *testing.T) {
m := manager{
cert: &tls.Certificate{
Leaf: &x509.Certificate{
NotBefore: tc.notBefore,
NotAfter: tc.notAfter,
},
template: &x509.CertificateRequest{},
usages: []certificates.KeyUsage{},
}
},
template: &x509.CertificateRequest{},
usages: []certificates.KeyUsage{},
}
lowerBound := tc.notBefore.Add(time.Duration(float64(tc.notAfter.Sub(tc.notBefore)) * 0.7))
upperBound := tc.notBefore.Add(time.Duration(float64(tc.notAfter.Sub(tc.notBefore)) * 0.9))
for i := 0; i < 1000; i++ {
// setRotationDeadline includes jitter, so this needs to run many times for validation.
m.setRotationDeadline()
lowerBound := tc.notBefore.Add(time.Duration(float64(tc.notAfter.Sub(tc.notBefore)) * 0.7))
upperBound := tc.notBefore.Add(time.Duration(float64(tc.notAfter.Sub(tc.notBefore)) * 0.9))
if m.rotationDeadline.Before(lowerBound) || m.rotationDeadline.After(upperBound) {
t.Errorf("For notBefore %v, notAfter %v, the rotationDeadline %v should be between %v and %v.",
tc.notBefore,
@ -225,8 +226,8 @@ func TestSetRotationDeadline(t *testing.T) {
lowerBound,
upperBound)
}
})
}
}
})
}
}