Skip to content

windows: Windows test harness (CTest ovntest + autotest Surface III) - #8

Merged
fw2568 merged 2 commits into
dbosoft-mainfrom
dbosoft-resync-26.03
Jun 9, 2026
Merged

fw2568 merged 2 commits into
dbosoft-mainfrom
dbosoft-resync-26.03

Conversation

@fw2568

@fw2568 fw2568 commented Jun 9, 2026 •

Copy link
Copy Markdown

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)

ovntest now 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.ps1 runs OVN's .at suite 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 -j1 with 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 .at bodies.
  • tests/windows/windows-shell-helpers.at — pwd -W/CRLF/taskkill shims so native daemons resolve punix:$OVS_RUNDIR sockets.
  • 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.

fw2568 added 2 commits June 9, 2026 22:47
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 fw2568 changed the title Resync OVN to upstream main (26.03); keep Windows via patch-on-top Resync OVN to upstream main (26.03); keep Windows; add Windows test harness Jun 9, 2026
@fw2568 fw2568 changed the title Resync OVN to upstream main (26.03); keep Windows; add Windows test harness windows: Windows test harness (CTest ovntest + autotest Surface III) Jun 9, 2026
@fw2568
fw2568 marked this pull request as ready for review June 9, 2026 21:00
@fw2568
fw2568 merged commit 193bfb7 into dbosoft-main Jun 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant