mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-21 20:55:11 +00:00
ci: skipping test for Windows Clang failure (#5062)
* ci: trying things for Windows Clang failure Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * WIP: try using older clang Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * tests: skip broken test Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * tests: try to skip test in tests Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * fix(tests): Prefer __version__ over MSVC Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * chore: avoid warning on Clang Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com> * Update tests/test_exceptions.py * Update tests/test_exceptions.py --------- Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
parent
8b48ff878c
commit
ec73bdaf1f
@ -67,9 +67,14 @@ inline PyObject *make_object_base_type(PyTypeObject *metaclass);
|
||||
// `Py_LIMITED_API` anyway.
|
||||
# if PYBIND11_INTERNALS_VERSION > 4
|
||||
# define PYBIND11_TLS_KEY_REF Py_tss_t &
|
||||
# if defined(__GNUC__) && !defined(__INTEL_COMPILER)
|
||||
// Clang on macOS warns due to `Py_tss_NEEDS_INIT` not specifying an initializer
|
||||
// for every field.
|
||||
# if defined(__clang__)
|
||||
# define PYBIND11_TLS_KEY_INIT(var) \
|
||||
_Pragma("clang diagnostic push") /**/ \
|
||||
_Pragma("clang diagnostic ignored \"-Wmissing-field-initializers\"") /**/ \
|
||||
Py_tss_t var \
|
||||
= Py_tss_NEEDS_INIT; \
|
||||
_Pragma("clang diagnostic pop")
|
||||
# elif defined(__GNUC__) && !defined(__INTEL_COMPILER)
|
||||
# define PYBIND11_TLS_KEY_INIT(var) \
|
||||
_Pragma("GCC diagnostic push") /**/ \
|
||||
_Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") /**/ \
|
||||
|
@ -520,11 +520,15 @@ set(PYBIND11_TEST_PREFIX_COMMAND
|
||||
""
|
||||
CACHE STRING "Put this before pytest, use for checkers and such")
|
||||
|
||||
set(PYBIND11_PYTEST_ARGS
|
||||
""
|
||||
CACHE STRING "Extra arguments for pytest")
|
||||
|
||||
# A single command to compile and run the tests
|
||||
add_custom_target(
|
||||
pytest
|
||||
COMMAND ${PYBIND11_TEST_PREFIX_COMMAND} ${PYTHON_EXECUTABLE} -m pytest
|
||||
${PYBIND11_ABS_PYTEST_FILES}
|
||||
${PYBIND11_ABS_PYTEST_FILES} ${PYBIND11_PYTEST_ARGS}
|
||||
DEPENDS ${test_targets}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
USES_TERMINAL)
|
||||
|
@ -80,10 +80,10 @@ PYBIND11_MODULE(pybind11_tests, m) {
|
||||
|
||||
// Intentionally kept minimal to not create a maintenance chore
|
||||
// ("just enough" to be conclusive).
|
||||
#if defined(_MSC_FULL_VER)
|
||||
m.attr("compiler_info") = "MSVC " PYBIND11_TOSTRING(_MSC_FULL_VER);
|
||||
#elif defined(__VERSION__)
|
||||
#if defined(__VERSION__)
|
||||
m.attr("compiler_info") = __VERSION__;
|
||||
#elif defined(_MSC_FULL_VER)
|
||||
m.attr("compiler_info") = "MSVC " PYBIND11_TOSTRING(_MSC_FULL_VER);
|
||||
#else
|
||||
m.attr("compiler_info") = py::none();
|
||||
#endif
|
||||
|
@ -4,7 +4,7 @@ import pytest
|
||||
|
||||
import env
|
||||
import pybind11_cross_module_tests as cm
|
||||
import pybind11_tests # noqa: F401
|
||||
import pybind11_tests
|
||||
from pybind11_tests import exceptions as m
|
||||
|
||||
|
||||
@ -248,6 +248,11 @@ def test_nested_throws(capture):
|
||||
assert str(excinfo.value) == "this is a helper-defined translated exception"
|
||||
|
||||
|
||||
# TODO: Investigate this crash, see pybind/pybind11#5062 for background
|
||||
@pytest.mark.skipif(
|
||||
sys.platform.startswith("win32") and "Clang" in pybind11_tests.compiler_info,
|
||||
reason="Started segfaulting February 2024",
|
||||
)
|
||||
def test_throw_nested_exception():
|
||||
with pytest.raises(RuntimeError) as excinfo:
|
||||
m.throw_nested_exception()
|
||||
|
Loading…
Reference in New Issue
Block a user