FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
0031 — The Windows-only NetStructureTest family (NetStructureTest, NetStructureABAQUS, NetStructureConstrained) has no test coverage
ID 0031
Class TEST
Severity 1
Status ready
Models Net/NetStructureTest, Net/NetStructureABAQUS, Net/NetStructureConstrained
Found 2026-09-24 test-coverage audit of f42360e

Evidence

src/fhsim_marine_elements.cpp:43-47 registers all three inside #ifdef WIN32. src/net/CMakeLists.txt:8 guards their source lists with IF(WIN32) # only available on windows as of now. None overrides HasJacobians(). tests/CMakeLists.txt builds no test file for any of them, and no XML under tests/in/ names any of their registration strings. Because they only compile on Windows, they cannot be exercised by whatever CI configuration this checkout runs on Linux even if a test existed.

Effect

Three registered SimObjects (NetStructureABAQUS and NetStructureConstrained both derive from NetStructureTest) have no automated coverage anywhere, on any platform. This overlaps MARE-0005, which already asks the owner whether these classes are alive at all; if they are not, writing tests for them is wasted effort, which is why this issue is filed separately from MARE-0028/0029/0030 rather than folded into them.

Possible fix

  • If maintained: add a Windows-only test target (or a Windows-gated block in the existing one) with a minimal smoke fixture per class, mirroring the Linux RunTest pattern.
  • If not maintained: retire per MARE-0005's option (c), which also removes this gap.

Test that would prove it

A Windows-built <Name>_Test.cpp per object that runs and passes; blocked on the same owner decision as MARE-0005 until then.

Risk

None to shipped code either way; the decision affects only where effort is spent.


Re-triage (fix pass 2026-09-24)

Re-confirmed at 8a1772d. Unchanged reason: blocked on the same decision as MARE-0005, and the classes cannot be built on Linux.


Re-triage (2026-09-25)

The blocker is gone: the owner approved documenting the three classes as they are (MARE-0005, resolved in a1e7260 and c77dfe5), which is the same decision this issue waited for. Status is now ready. The tests still need a Windows build; nothing here can be compiled or run on Linux.