123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # This file is dual licensed under the terms of the Apache License, Version
- # 2.0, and the BSD License. See the LICENSE file in the root of this repository
- # for complete details.
- import pytest
- from cryptography.hazmat.backends.openssl import backend as openssl_backend
- from .utils import check_backend_support
- def pytest_configure(config):
- if config.getoption("--enable-fips"):
- openssl_backend._enable_fips()
- def pytest_report_header(config):
- return "\n".join(
- [
- "OpenSSL: {}".format(openssl_backend.openssl_version_text()),
- "FIPS Enabled: {}".format(openssl_backend._fips_enabled),
- ]
- )
- def pytest_addoption(parser):
- parser.addoption("--wycheproof-root", default=None)
- parser.addoption("--enable-fips", default=False)
- def pytest_runtest_setup(item):
- if openssl_backend._fips_enabled:
- for marker in item.iter_markers(name="skip_fips"):
- pytest.skip(marker.kwargs["reason"])
- @pytest.fixture()
- def backend(request):
- check_backend_support(openssl_backend, request)
- # Ensure the error stack is clear before the test
- errors = openssl_backend._consume_errors_with_text()
- assert not errors
- yield openssl_backend
- # Ensure the error stack is clear after the test
- errors = openssl_backend._consume_errors_with_text()
- assert not errors
|