test: preserve Dev verification contracts through Refactor APIs
This commit is contained in:
@@ -96,3 +96,19 @@ def test_p_style_002_msvc_targets_enable_standard_exception_unwinding():
|
||||
assert "/EHsc" in compile_options.group("body"), (
|
||||
f"{target} must enable standard C++ exception unwinding under MSVC"
|
||||
)
|
||||
|
||||
|
||||
# The maintained solution uses the shared native property sheet; both paths
|
||||
# must keep standard exception unwinding. Doxygen remains optional above.
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
ns = {"m": "http://schemas.microsoft.com/developer/msbuild/2003"}
|
||||
props = ET.parse(ROOT / "msvc" / "Fesa.Common.props")
|
||||
assert props.findtext(".//m:ExceptionHandling", namespaces=ns) == "Sync"
|
||||
for target in ("fesa_solver", "fesa_cli", "fesa_unit_tests",
|
||||
"fesa_integration_tests", "fesa_reference_tests"):
|
||||
project = ET.parse(ROOT / "msvc" / f"{target}.vcxproj")
|
||||
imports = [item.attrib.get("Project") for item in project.findall("m:Import", ns)]
|
||||
assert "Fesa.Common.props" in imports, target
|
||||
overrides = project.findall(".//m:ExceptionHandling", ns)
|
||||
assert all(item.text == "Sync" for item in overrides), target
|
||||
|
||||
Reference in New Issue
Block a user