bch: add pool-node body TUs to embedded body-test link set - #638
Closed
frstrtr wants to merge 1 commit into
Closed
Conversation
The BCH_EMBEDDED_BODY_TESTS foreach compiled only the coin-side TUs
(transaction/coin_node/p2p_connection/p2p_node/rpc), omitting the four
pool-node body TUs that define NodeImpl out-of-line methods (node.cpp),
the Legacy/Actual p2p protocol dispatchers (protocol_{legacy,actual}.cpp),
and the stratum BCHWorkSource ctor (stratum/work_source.cpp). Any embedded
body test that constructs the real pool node graph would hit undefined
vtable/method symbols at link. Mirror the four TUs already present in the
shipping c2pool-bch target so the link set is consistent.
Additive build-only, src/impl/bch/test/CMakeLists.txt only. No shared base,
no src/core, no other-coin tree, no consensus value; per-coin isolation
holds. Four embedded body tests link green + 4/4 ctest pass on COIN_BCH.
Owner
Author
|
Closing as a behaviorless no-op. Blocker was a static read of the pre-362ff299 foreach, not a captured CI red. Master 3b5267d links c2pool-bch clean (27/27 bch_ green, zero undefined-ref repro); the four pool-node TUs (node/protocol_actual/protocol_legacy/stratum/work_source.cpp) already land in the executable SOURCES via 362ff29, and no bch_ test in BCH_EMBEDDED_BODY_TESTS instantiates NodeImpl/handle_message/BCHWorkSource, so padding the foreach fixes nothing. Branch bch/embedded-test-link-sources preserved. Per integrator [s=bch-embedded-link-closed]. |
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.
Fenced, additive, build-only fix for the BCH embedded body-test link set.
What
The
BCH_EMBEDDED_BODY_TESTSforeach insrc/impl/bch/test/CMakeLists.txtcompiled only the coin-side TUs (transaction / coin_node / p2p_connection / p2p_node / rpc). It omitted the four pool-node body TUs that define theNodeImplout-of-line methods (node.cpp), the Legacy/Actual p2p protocol dispatchers (protocol_legacy.cpp/protocol_actual.cpp), and the stratumBCHWorkSourcector (stratum/work_source.cpp).Any embedded body test that constructs the real pool-node graph hits undefined vtable/method symbols at link (the classic SOURCES-omission linker signature). This mirrors the four TUs already present in the shipping
c2pool-bchtarget (src/c2pool/CMakeLists.txt) so the two link sets stay consistent.Scope / isolation
Touches only
src/impl/bch/test/CMakeLists.txt. Additive build-only, single-coin BCH, no shared base / bitcoin_family / src/core, no other-coin tree, no consensus value. Per-coin isolation holds.Evidence
COIN_BCH Debug build: all four embedded body test binaries (
bch_embedded_getwork_test,bch_embedded_seam_workview_test,bch_embedded_block_broadcast_test,bch_coin_node_seam_test) link green; 4/4 ctest pass.No self-merge — for ci-steward matrix re-run + integrator full-rollup tap.