test: preserve Dev verification contracts through Refactor APIs

This commit is contained in:
KOKO\Mimi
2026-10-18 02:25:59 +09:00
parent 26009169bf
commit 74a2ce87ee
19 changed files with 6602 additions and 3 deletions
+16
View File
@@ -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