Subject: python-celery build failed: spurious linebreaks in tests

From: "Dr. Arne Babenhauserheide" <[email-masked]>
Date: Tue, 07 Jan 2025 14:29:42 +0100

The build of python-celery fails because test
TestBackendEcdsaCompatibility.test_public_key_to_pem[ECDSAECKey-CryptographyECKey] fails.

The reason seems to be that linebreaks are inserted at different places
than expected. End of the logfile
/var/log/guix/drvs/fx/d67zlmgm6mh90pdc4db8j22l47r15l-python-jose-3.3.0.drv.gz:

tests/test_utils.py::TestUtils::test_long_to_base64 PASSED               [100%]

=================================== FAILURES ===================================
_ TestBackendEcdsaCompatibility.test_public_key_to_pem[ECDSAECKey-CryptographyECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff54111e0>
BackendFrom = <class 'jose.backends.cryptography_backend.CryptographyECKey'>
BackendTo = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_public_key_to_pem(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
        key2 = BackendTo(private_key, ALGORITHMS.ES256)
    
>       assert key.public_key().to_pem().strip() == key2.public_key().to_pem().strip()
E       AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
E         
E         At index 91 diff: b'\n' != b't'
E         
E         Full diff:
E           (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
E         -  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                                   --
E         +  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                       ++
E            b'nTm88Q==\n-----END PUBLIC KEY-----')

tests/algorithms/test_EC_compat.py:40: AssertionError
_ TestBackendEcdsaCompatibility.test_public_key_to_pem[CryptographyECKey-ECDSAECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff5411c00>
BackendFrom = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>
BackendTo = <class 'jose.backends.cryptography_backend.CryptographyECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_public_key_to_pem(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
        key2 = BackendTo(private_key, ALGORITHMS.ES256)
    
>       assert key.public_key().to_pem().strip() == key2.public_key().to_pem().strip()
E       AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
E         
E         At index 91 diff: b't' != b'\n'
E         
E         Full diff:
E           (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
E         -  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                       --
E         +  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                                   ++
E            b'nTm88Q==\n-----END PUBLIC KEY-----')

tests/algorithms/test_EC_compat.py:40: AssertionError
_ TestBackendEcdsaCompatibility.test_private_key_to_pem[ECDSAECKey-CryptographyECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff5410e20>
BackendFrom = <class 'jose.backends.cryptography_backend.CryptographyECKey'>
BackendTo = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_private_key_to_pem(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
        key2 = BackendTo(private_key, ALGORITHMS.ES256)
    
>       assert key.to_pem().strip() == key2.to_pem().strip()
E       AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
E         
E         At index 95 diff: b'\n' != b'A'
E         
E         Full diff:
E           (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
E         -  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                                       --
E         +  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                           ++
E         -  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                                            --
E         +  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                    ++
E            b'E KEY-----')

tests/algorithms/test_EC_compat.py:48: AssertionError
_ TestBackendEcdsaCompatibility.test_private_key_to_pem[CryptographyECKey-ECDSAECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff54137f0>
BackendFrom = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>
BackendTo = <class 'jose.backends.cryptography_backend.CryptographyECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_private_key_to_pem(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
        key2 = BackendTo(private_key, ALGORITHMS.ES256)
    
>       assert key.to_pem().strip() == key2.to_pem().strip()
E       AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
E         
E         At index 95 diff: b'A' != b'\n'
E         
E         Full diff:
E           (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
E         -  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                           --
E         +  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                                       ++
E         -  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                    --
E         +  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                                            ++
E            b'E KEY-----')

tests/algorithms/test_EC_compat.py:48: AssertionError
_ TestBackendEcdsaCompatibility.test_public_key_load_cycle[ECDSAECKey-CryptographyECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff5411b10>
BackendFrom = <class 'jose.backends.cryptography_backend.CryptographyECKey'>
BackendTo = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_public_key_load_cycle(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
        pubkey = key.public_key()
    
        pub_pem_source = pubkey.to_pem().strip()
    
        pub_target = BackendTo(pub_pem_source, ALGORITHMS.ES256)
    
>       assert pub_pem_source == pub_target.to_pem().strip()
E       AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
E         
E         At index 91 diff: b'\n' != b't'
E         
E         Full diff:
E           (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
E         -  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                                   --
E         +  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                       ++
E            b'nTm88Q==\n-----END PUBLIC KEY-----')

tests/algorithms/test_EC_compat.py:60: AssertionError
_ TestBackendEcdsaCompatibility.test_public_key_load_cycle[CryptographyECKey-ECDSAECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff5410c70>
BackendFrom = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>
BackendTo = <class 'jose.backends.cryptography_backend.CryptographyECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_public_key_load_cycle(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
        pubkey = key.public_key()
    
        pub_pem_source = pubkey.to_pem().strip()
    
        pub_target = BackendTo(pub_pem_source, ALGORITHMS.ES256)
    
>       assert pub_pem_source == pub_target.to_pem().strip()
E       AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
E         
E         At index 91 diff: b't' != b'\n'
E         
E         Full diff:
E           (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
E         -  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                       --
E         +  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
E         ?                                   ++
E            b'nTm88Q==\n-----END PUBLIC KEY-----')

tests/algorithms/test_EC_compat.py:60: AssertionError
_ TestBackendEcdsaCompatibility.test_private_key_load_cycle[ECDSAECKey-CryptographyECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff5411f00>
BackendFrom = <class 'jose.backends.cryptography_backend.CryptographyECKey'>
BackendTo = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_private_key_load_cycle(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
    
        pem_source = key.to_pem().strip()
    
        target = BackendTo(pem_source, ALGORITHMS.ES256)
    
>       assert pem_source == target.to_pem().strip()
E       AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
E         
E         At index 95 diff: b'\n' != b'A'
E         
E         Full diff:
E           (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
E         -  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                                       --
E         +  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                           ++
E         -  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                                            --
E         +  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                    ++
E            b'E KEY-----')

tests/algorithms/test_EC_compat.py:71: AssertionError
_ TestBackendEcdsaCompatibility.test_private_key_load_cycle[CryptographyECKey-ECDSAECKey] _

self = <tests.algorithms.test_EC_compat.TestBackendEcdsaCompatibility object at 0x7ffff5412d40>
BackendFrom = <class 'jose.backends.ecdsa_backend.ECDSAECKey'>
BackendTo = <class 'jose.backends.cryptography_backend.CryptographyECKey'>

    @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
    @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
    def test_private_key_load_cycle(self, BackendFrom, BackendTo):
        key = BackendFrom(private_key, ALGORITHMS.ES256)
    
        pem_source = key.to_pem().strip()
    
        target = BackendTo(pem_source, ALGORITHMS.ES256)
    
>       assert pem_source == target.to_pem().strip()
E       AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
E         
E         At index 95 diff: b'A' != b'\n'
E         
E         Full diff:
E           (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
E         -  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                           --
E         +  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
E         ?                                       ++
E         -  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                    --
E         +  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
E         ?                                            ++
E            b'E KEY-----')

tests/algorithms/test_EC_compat.py:71: AssertionError
=========================== short test summary info ============================
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_public_key_to_pem[ECDSAECKey-CryptographyECKey] - AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
  
  At index 91 diff: b'\n' != b't'
  
  Full diff:
    (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
  -  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                                   --
  +  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                       ++
     b'nTm88Q==\n-----END PUBLIC KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_public_key_to_pem[CryptographyECKey-ECDSAECKey] - AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
  
  At index 91 diff: b't' != b'\n'
  
  Full diff:
    (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
  -  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                       --
  +  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                                   ++
     b'nTm88Q==\n-----END PUBLIC KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_private_key_to_pem[ECDSAECKey-CryptographyECKey] - AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
  
  At index 95 diff: b'\n' != b'A'
  
  Full diff:
    (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
  -  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                                       --
  +  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                           ++
  -  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
  ?                                            --
  +  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
  ?                    ++
     b'E KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_private_key_to_pem[CryptographyECKey-ECDSAECKey] - AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
  
  At index 95 diff: b'A' != b'\n'
  
  Full diff:
    (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
  -  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                           --
  +  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                                       ++
  -  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
  ?                    --
  +  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
  ?                                            ++
     b'E KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_public_key_load_cycle[ECDSAECKey-CryptographyECKey] - AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
  
  At index 91 diff: b'\n' != b't'
  
  Full diff:
    (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
  -  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                                   --
  +  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                       ++
     b'nTm88Q==\n-----END PUBLIC KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_public_key_load_cycle[CryptographyECKey-ECDSAECKey] - AssertionError: assert b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----' == b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END PUBLIC KEY-----'
  
  At index 91 diff: b't' != b'\n'
  
  Full diff:
    (b'-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7gb4edKJ7'
  -  b'ul9IgomCdcOebQTZ8qk\ntqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                       --
  +  b'ul9IgomCdcOebQTZ8qktqtBfRKboa71\nCfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/yVOK'
  ?                                   ++
     b'nTm88Q==\n-----END PUBLIC KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_private_key_load_cycle[ECDSAECKey-CryptographyECKey] - AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
  
  At index 95 diff: b'\n' != b'A'
  
  Full diff:
    (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
  -  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                                       --
  +  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                           ++
  -  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
  ?                                            --
  +  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
  ?                    ++
     b'E KEY-----')
FAILED tests/algorithms/test_EC_compat.py::TestBackendEcdsaCompatibility::test_private_key_load_cycle[CryptographyECKey-ECDSAECKey] - AssertionError: assert b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVATE KEY-----' == b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniSJcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKboa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVATE KEY-----'
  
  At index 95 diff: b'A' != b'\n'
  
  Full diff:
    (b'-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEIOiSs10XnBlfykk5zsJRmzYybKdMlGniS'
  -  b'JcssDvUcF6DoAoGCCqGSM49\nAwEHoUQDQgAE7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                           --
  +  b'JcssDvUcF6DoAoGCCqGSM49AwEHoUQDQgAE\n7gb4edKJ7ul9IgomCdcOebQTZ8qktqtBfRKb'
  ?                                       ++
  -  b'oa71CfEKzBruUi+D\nWkG0HJWIORlPbvXME+DRh6G/yVOKnTm88Q==\n-----END EC PRIVAT'
  ?                    --
  +  b'oa71CfEKzBruUi+DWkG0HJWIORlPbvXME+DRh6G/\nyVOKnTm88Q==\n-----END EC PRIVAT'
  ?                                            ++
     b'E KEY-----')
================== 8 failed, 447 passed, 12 skipped in 16.14s ==================
error: in phase 'check': uncaught exception:
%exception #<&invoke-error program: "pytest" arguments: ("-vv") exit-status: 1 term-signal: #f stop-signal: #f> 
phase `check' failed after 16.4 seconds
command "pytest" "-vv" failed with status 1
build process 18 exited with status 256

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de