From 5f9fec9b3af9c3c7de3d00b56778e3b5af422812 Mon Sep 17 00:00:00 2001 From: Kevin Jones Date: Mon, 11 Oct 2021 09:59:07 -0400 Subject: [PATCH] Fix test sensitivity to PKCS7 certificate ordering (#59818) Android exports PKCS7 certificates in a different order, and the xunit assertion is sensitive to order. So we sort them first. Fixes #59777. --- .../tests/CollectionTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs index da647d19ad5ef..2c77252705f01 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs @@ -1745,7 +1745,9 @@ static void AssertPem(X509Certificate2Collection expected, ReadOnlySpan pe using (ImportedCollection imported = Cert.Import(data)) { - Assert.Equal(expected.ToArray(), imported.Collection.ToArray(), new X509Certificate2EqualityComparer()); + X509Certificate2[] expectedCollection = expected.OrderBy(c => c.Thumbprint).ToArray(); + X509Certificate2[] actualCollection = imported.Collection.OrderBy(c => c.Thumbprint).ToArray(); + Assert.Equal(expectedCollection, actualCollection, new X509Certificate2EqualityComparer()); } }