Repository navigation
windows: Windows test harness (CTest ovntest + autotest Surface III) - #8
Merged
Merged
Conversation
The CMake ovntest target excluded controller/test-lflow-cache.c, controller/test-vif-plug.c and northd/test-ipam.c "for now" -- but the controller/northd objects are built for the daemons, so there is no reason not to link them. Reuse the exact controller sources ovn-controller links (OVN_CONTROLLER_TESTOBJ = its sources minus main()) plus northd/ipam.c, so the OVSTEST modules register with guaranteed symbol resolution. Recovers the ovn-lflow-cache (7), ovn-ipam (3) and ovn-vif-plug (1) unit tests, which previously failed with "ovstest: unknown command".
…usions)
Reuse OVN's autotest .at suite against the CMake/MSVC-built binaries without
a full autotools build, mirroring the OVS fork's tests/windows/ approach:
- tests/windows-testsuite.at: m4_include manifest over UNCHANGED upstream
.at bodies (resync cost 0) + windows-shell-helpers.at; userspace-first.
- tests/windows/windows-shell-helpers.at: pwd -W / CRLF diff / taskkill
shims so native daemons resolve punix:$OVS_RUNDIR sockets (the fix that
turns the daemon tests from "hang" into "run").
- tests/windows/run-windows-testsuite.ps1: generates the suite, repoints
atconfig, GENERATES THE TEST PKI (testpki-*.pem -- baked in so it can't
silently break runs), runs -j1 with a stall-watchdog that reaps only this
run's daemons (eryph-zero services untouched), and applies the exclusion
lists.
- excluded-tests.txt / excluded-keywords.txt: method/feature-incompatible
tests skipped on Windows (ic binaries not built yet; SIGSTOP/SIGCONT
incremental-processing tests; POSIX signal-exit; python bindings).
- known-failures.md: the REAL MSVC build bugs the suite found (xxreg/xreg
register field width; ovn-nbctl mirror Index/Key integer) -- deliberately
NOT excluded; they must run and fail until fixed.
Baseline userspace run (groups 1-371): 304 pass / 65 fail / 2 skip.
fw2568
marked this pull request as ready for review
June 9, 2026 21:00
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the Windows test infrastructure on top of the 26.03 resync (now in
dbosoft-main). Delta only — no upstream churn.ovntest (CTest unit net)
ovntestnow also links the controller/northd test modules (test-lflow-cache / test-vif-plug / test-ipam) by reusing ovn-controller's own sources, recovering the lflow-cache/ipam/vif-plug unit tests that previously failed with "ovstest: unknown command".autotest "Surface III" runner
tests/windows/run-windows-testsuite.ps1runs OVN's.atsuite against the CMake/MSVC binaries with no full autotools build: generates the suite, repoints atconfig, generates the test PKI (baked in so it can't silently break runs), runs-j1with a stall-watchdog that reaps only the run's own daemons (eryph-zero services untouched), and applies the exclusion lists.tests/windows-testsuite.at— m4_include manifest over unchanged upstream.atbodies.tests/windows/windows-shell-helpers.at—pwd -W/CRLF/taskkill shims so native daemons resolvepunix:$OVS_RUNDIRsockets.excluded-tests.txt/excluded-keywords.txt— method/feature-incompatible tests skipped (ic binaries not built yet; SIGSTOP/SIGCONT incremental-processing; POSIX signal-exit; python bindings).known-failures.md— real MSVC build bugs the suite found (deliberately not excluded; must run and fail until fixed): xxreg/xreg register field width; ovn-nbctl mirror Index/Key integer.Baseline userspace run (groups 1-371): 304 pass / 65 fail / 2 skip. Datapath half (372-1215) not yet baselined.