Fix SSI serialization unit test outside simulation#13397
Conversation
tclinkenbeard-oai
left a comment
There was a problem hiding this comment.
Generated by Codex.
What is it trying to do?
Make the StorageServerInterface serialization test runnable by standalone fdbclient_test, where no FlowTransport instance exists, by supplying the only endpoint the serializer needs directly. It also fixes the TSS pair-ID assertion so it compares the original value with the round-tripped value instead of comparing the decoded value to itself.
Is it correct?
Yes. StorageServerInterface persists getValue and reconstructs its other request streams from adjusted versions of that endpoint during deserialization. The synthetic endpoint has a valid address and token, so it satisfies request-stream serialization without registering endpoints through FlowTransport.
The TSS assertion now detects a changed tssPairID. There is no serialization-layout or protocol-version change.
I inspected the serializer, endpoint reconstruction, request-stream serialization, and standalone unit-test initialization. I did not build or run tests. The public clang-format check passes; Test Boost CONFIG Mode on Windows is still pending.
Are there bugs?
I did not find any correctness bugs.
Are there omissions?
None that I think block this. The remaining Windows CI check should be allowed to finish.
Are there better ways of doing things?
The direct synthetic endpoint is appropriately minimal for this test. A shared test helper would only be worthwhile if more serialization tests need the same setup.
Should this CL be LGTMd?
Yes, LGTM based on code inspection. The highest remaining risk is compilation on the still-pending Windows check.
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS 14.x
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-macos on macOS 14.x
|
|
unrelated test failure: (re-triggered that config) |
Result of foundationdb-pr on Linux RHEL 9
|
This fix gets
fdbclient_testto pass without--simulation. An unrelated assertion typo in the same test is also fixed.