From 1166fcc00fc4625e50232b2c98e2186650185a58 Mon Sep 17 00:00:00 2001 From: Kevin Jones Date: Sat, 17 Jul 2021 17:02:29 +0000 Subject: [PATCH] Use RetryHelper to improve reliability of revocation tests --- .../RevocationTests/DynamicRevocationTests.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/RevocationTests/DynamicRevocationTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/RevocationTests/DynamicRevocationTests.cs index 5fc168b03e4a5f..7c32c3cd7dccfe 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/RevocationTests/DynamicRevocationTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/RevocationTests/DynamicRevocationTests.cs @@ -1502,7 +1502,6 @@ private static void SimpleTest( using (root) using (intermediate) using (endEntity) - using (ChainHolder holder = new ChainHolder()) using (X509Certificate2 rootCert = root.CloneIssuerCert()) using (X509Certificate2 intermediateCert = intermediate.CloneIssuerCert()) { @@ -1528,14 +1527,19 @@ private static void SimpleTest( } } - X509Chain chain = holder.Chain; - chain.ChainPolicy.CustomTrustStore.Add(rootCert); - chain.ChainPolicy.ExtraStore.Add(intermediateCert); - chain.ChainPolicy.TrustMode = X509ChainTrustMode.CustomRootTrust; - chain.ChainPolicy.VerificationTime = endEntity.NotBefore.AddMinutes(1); - chain.ChainPolicy.UrlRetrievalTimeout = s_urlRetrievalLimit; + RetryHelper.Execute(() => { + using (ChainHolder holder = new ChainHolder()) + { + X509Chain chain = holder.Chain; + chain.ChainPolicy.CustomTrustStore.Add(rootCert); + chain.ChainPolicy.ExtraStore.Add(intermediateCert); + chain.ChainPolicy.TrustMode = X509ChainTrustMode.CustomRootTrust; + chain.ChainPolicy.VerificationTime = endEntity.NotBefore.AddMinutes(1); + chain.ChainPolicy.UrlRetrievalTimeout = s_urlRetrievalLimit; - callback(root, intermediate, endEntity, holder, responder); + callback(root, intermediate, endEntity, holder, responder); + } + }); } }