* Fix a few bugs in run_example_ci_config tooling Github-deploy.yml had a fix to make it work out-of-the-box. * Add flaky marker on test_ssl (due to external internet access during the test, it does occasionally fail)
38 lines
1.0 KiB
Python
38 lines
1.0 KiB
Python
import socket
|
|
import textwrap
|
|
|
|
import pytest
|
|
|
|
from . import test_projects, utils
|
|
|
|
project_with_ssl_tests = test_projects.new_c_project(
|
|
setup_py_add=textwrap.dedent(
|
|
r"""
|
|
import ssl
|
|
|
|
from urllib.request import urlopen
|
|
|
|
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
|
|
# badssl.com is a HTTPS test server that can be used to test SSL connections
|
|
data = urlopen("https://tls-v1-2.badssl.com", context=context)
|
|
data = urlopen("https://tls-v1-2.badssl.com")
|
|
"""
|
|
)
|
|
)
|
|
|
|
|
|
@pytest.mark.flaky(reruns=2)
|
|
def test(tmp_path):
|
|
# this test checks that SSL is working in the build environment using
|
|
# some checks in setup.py.
|
|
project_dir = tmp_path / "project"
|
|
project_with_ssl_tests.generate(project_dir)
|
|
|
|
# warm up connection
|
|
socket.getaddrinfo("tls-v1-2.badssl.com", 443)
|
|
|
|
actual_wheels = utils.cibuildwheel_run(project_dir)
|
|
|
|
expected_wheels = utils.expected_wheels("spam", "0.1.0")
|
|
assert set(actual_wheels) == set(expected_wheels)
|