@@ -1656,10 +1656,46 @@ func TestSystemCertPool(t *testing.T) {
1656
1656
if runtime .GOOS == "windows" {
1657
1657
t .Skip ("not implemented on Windows; Issue 16736, 18609" )
1658
1658
}
1659
- _ , err := SystemCertPool ()
1659
+ if runtime .GOOS == "nacl" {
1660
+ t .Skip ("not implemented on NaCl; Issue 24561" )
1661
+ }
1662
+ a , err := SystemCertPool ()
1660
1663
if err != nil {
1661
1664
t .Fatal (err )
1662
1665
}
1666
+ b , err := SystemCertPool ()
1667
+ if err != nil {
1668
+ t .Fatal (err )
1669
+ }
1670
+ if ! reflect .DeepEqual (a , b ) {
1671
+ t .Fatal ("two calls to SystemCertPool had different results" )
1672
+ }
1673
+ if ok := b .AppendCertsFromPEM ([]byte (`
1674
+ -----BEGIN CERTIFICATE-----
1675
+ MIIDBjCCAe6gAwIBAgIRANXM5I3gjuqDfTp/PYrs+u8wDQYJKoZIhvcNAQELBQAw
1676
+ EjEQMA4GA1UEChMHQWNtZSBDbzAeFw0xODAzMjcxOTU2MjFaFw0xOTAzMjcxOTU2
1677
+ MjFaMBIxEDAOBgNVBAoTB0FjbWUgQ28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
1678
+ ggEKAoIBAQDK+9m3rjsO2Djes6bIYQZ3eV29JF09ZrjOrEHLtaKrD6/acsoSoTsf
1679
+ cQr+rzzztdB5ijWXCS64zo/0OiqBeZUNZ67jVdToa9qW5UYe2H0Y+ZNdfA5GYMFD
1680
+ yk/l3/uBu3suTZPfXiW2TjEi27Q8ruNUIZ54DpTcs6y2rBRFzadPWwn/VQMlvRXM
1681
+ jrzl8Y08dgnYmaAHprxVzwMXcQ/Brol+v9GvjaH1DooHqkn8O178wsPQNhdtvN01
1682
+ IXL46cYdcUwWrE/GX5u+9DaSi+0KWxAPQ+NVD5qUI0CKl4714yGGh7feXMjJdHgl
1683
+ VG4QJZlJvC4FsURgCHJT6uHGIelnSwhbAgMBAAGjVzBVMA4GA1UdDwEB/wQEAwIF
1684
+ oDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMCAGA1UdEQQZMBeC
1685
+ FVRlc3RTeXN0ZW1DZXJ0UG9vbC5nbzANBgkqhkiG9w0BAQsFAAOCAQEAwuSRx/VR
1686
+ BKh2ICxZjL6jBwk/7UlU1XKbhQD96RqkidDNGEc6eLZ90Z5XXTurEsXqdm5jQYPs
1687
+ 1cdcSW+fOSMl7MfW9e5tM66FaIPZl9rKZ1r7GkOfgn93xdLAWe8XHd19xRfDreub
1688
+ YC8DVqgLASOEYFupVSl76ktPfxkU5KCvmUf3P2PrRybk1qLGFytGxfyice2gHSNI
1689
+ gify3K/+H/7wCkyFW4xYvzl7WW4mXxoqPRPjQt1J423DhnnQ4G1P8V/vhUpXNXOq
1690
+ N9IEPnWuihC09cyx/WMQIUlWnaQLHdfpPS04Iez3yy2PdfXJzwfPrja7rNE+skK6
1691
+ pa/O1nF0AfWOpw==
1692
+ -----END CERTIFICATE-----
1693
+ ` )); ! ok {
1694
+ t .Fatal ("AppendCertsFromPEM failed" )
1695
+ }
1696
+ if reflect .DeepEqual (a , b ) {
1697
+ t .Fatal ("changing one pool modified the other" )
1698
+ }
1663
1699
}
1664
1700
1665
1701
const emptyNameConstraintsPEM = `
0 commit comments