This commit is contained in:
2026-08-08 22:39:18 +08:00
parent d1cff37a2a
commit 464f3a166a
22 changed files with 510 additions and 54 deletions
+7 -3
View File
@@ -87,7 +87,7 @@ def run_e2e(build_dir: Path, configuration: str, edge: bool) -> None:
output = process.stdout.read().decode(errors="replace")
if output:
print(output, end="")
def full_verification() -> None:
def full_verification(real_drogon: bool) -> None:
if VERIFICATION.exists():
shutil.rmtree(VERIFICATION)
debug_dir = VERIFICATION / "debug"
@@ -97,7 +97,8 @@ def full_verification() -> None:
configure(debug_dir, "Debug")
build(debug_dir, "Debug")
ctest(debug_dir, "Debug")
configure(release_dir, "Release")
release_extra = ["-DADMINIVE_ENABLE_REAL_DROGON_TESTS=ON"] if real_drogon else None
configure(release_dir, "Release", release_extra)
build(release_dir, "Release")
ctest(release_dir, "Release")
if os.name == "nt":
@@ -118,12 +119,15 @@ def full_verification() -> None:
run_e2e(release_dir, "Release", False)
if os.name == "nt":
run_e2e(release_dir, "Release", True)
if not real_drogon:
print("SKIP: real Drogon compile/install gate; run with --real-drogon on a machine with Drogon and nlohmann_json CMake packages installed", flush=True)
def main() -> int:
parser = argparse.ArgumentParser()
parser.add_argument("--e2e-only", action="store_true")
parser.add_argument("--edge", action="store_true")
parser.add_argument("--binary-dir", type=Path)
parser.add_argument("--configuration", default="Release")
parser.add_argument("--real-drogon", action="store_true")
args = parser.parse_args()
if args.edge and os.name != "nt":
raise RuntimeError("Edge E2E requires Windows with Microsoft Edge installed")
@@ -132,7 +136,7 @@ def main() -> int:
raise RuntimeError("--binary-dir is required with --e2e-only")
run_e2e(args.binary_dir.resolve(), args.configuration or "Release", args.edge)
return 0
full_verification()
full_verification(args.real_drogon)
return 0
if __name__ == "__main__":
sys.exit(main())