Fix process-name ownership and module lookup outputs, add explicit SPKI hashing and bounded chain access, and improve WDM integration. Deprecate superseded entry points with migration guidance and align branch code and tests with the library style.
36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
"""Run production export and file-read helpers with deterministic user-mode doubles."""
|
|
|
|
from pathlib import Path
|
|
import subprocess
|
|
import tempfile
|
|
|
|
root = Path(__file__).resolve().parents[1]
|
|
source = (root / "src/Domito.cpp").read_text(encoding="utf-8-sig")
|
|
export_start = source.index("// This helper handles directory RVAs")
|
|
export_end = source.index("_Success_", source.index("DomitoFindExportedFunctionAddress(") + 1)
|
|
read_start = source.rfind("_Success_", 0, source.index("DomitoReadFileAt("))
|
|
read_end = source.index("_Success_", source.index("DomitoReadFile(") + 1)
|
|
with tempfile.TemporaryDirectory(prefix="domito-common-tests-") as temp:
|
|
build = Path(temp)
|
|
(build / "common-under-test.inc").write_text(
|
|
source[export_start:export_end] + "\n" + source[read_start:read_end], encoding="utf-8"
|
|
)
|
|
exe = build / "common-tests.exe"
|
|
subprocess.run(
|
|
[
|
|
"cl",
|
|
"/nologo",
|
|
"/EHsc",
|
|
"/W4",
|
|
"/WX",
|
|
"/std:c++17",
|
|
"/I" + str(build),
|
|
str(root / "tests/common-tests.cpp"),
|
|
"/Fe" + str(exe),
|
|
"/Fo" + str(build / "common-tests.obj"),
|
|
],
|
|
cwd=build,
|
|
check=True,
|
|
)
|
|
subprocess.run([str(exe)], cwd=build, check=True)
|