@@ -27,25 +27,34 @@ if (BUILD_TESTING AND GTest_FOUND)
2727 # P1 PC: embedded template builder KATs. Header-only builder
2828 # (template_builder.hpp / rpc_data.hpp); links the same SCC the sibling
2929 # merkle test does (core + nmc_coin for the out-of-line transaction ctor).
30- #
31- # nmc_underfill_guard_test.cpp: port of the LTC/DOGE "near-empty template
32- # on a non-empty mempool" template-builder guard to the NMC embedded
33- # template path (coin/template_builder.hpp), matching the BTC port
34- # (test/test_btc_underfill_guard.cpp). Predicate KATs at the pinned 50 kB
35- # floor/slack + build_template wiring via the SAFE-ADDITIVE
36- # underfill_tripped seam (log-only guard; GBT projection asserted
37- # unchanged). Compiled INTO this already-allowlisted target (second
38- # source; gtest_add_tests AUTO scans all target sources) so no build.yml
39- # --target allowlist edit is needed — a NEW target absent from that
40- # allowlist reds master as a NOT_BUILT sentinel (the #724/#728 lesson).
41- add_executable (nmc_template_builder_test nmc_template_builder_test.cpp nmc_underfill_guard_test.cpp )
30+ # The underfill guard KAT that used to be compiled into this target now
31+ # lives in its own nmc_underfill_guard_test target below (btc/dash/dgb symmetry).
32+ add_executable (nmc_template_builder_test nmc_template_builder_test.cpp )
4233 target_link_libraries (nmc_template_builder_test PRIVATE
4334 GTest::gtest_main GTest::gtest
4435 core nlohmann_json::nlohmann_json )
4536 target_link_libraries (nmc_template_builder_test PRIVATE
4637 c2pool_payout c2pool_merged_mining c2pool_hashrate c2pool_storage )
4738 target_link_libraries (nmc_template_builder_test PRIVATE nmc_coin )
4839
40+ # nmc_underfill_guard_test: port of the LTC/DOGE "near-empty template on a
41+ # non-empty mempool" template-builder guard to the NMC embedded template
42+ # path (coin/template_builder.hpp), matching the BTC/DGB/DASH ports. Predicate
43+ # KATs at the pinned 50 kB floor/slack + build_template wiring via the
44+ # SAFE-ADDITIVE underfill_tripped seam (log-only guard; GBT projection asserted
45+ # unchanged). Standalone target mirroring btc/dash/dgb *_underfill_guard_test
46+ # for symmetry; same SCC as the sibling template_builder test (core + nmc_coin
47+ # for the out-of-line transaction ctor). MUST be listed in the build.yml
48+ # --target allowlist below (a registered target absent from that allowlist
49+ # reds master as a NOT_BUILT sentinel: the #724/#728 lesson).
50+ add_executable (nmc_underfill_guard_test nmc_underfill_guard_test.cpp )
51+ target_link_libraries (nmc_underfill_guard_test PRIVATE
52+ GTest::gtest_main GTest::gtest
53+ core nlohmann_json::nlohmann_json )
54+ target_link_libraries (nmc_underfill_guard_test PRIVATE
55+ c2pool_payout c2pool_merged_mining c2pool_hashrate c2pool_storage )
56+ target_link_libraries (nmc_underfill_guard_test PRIVATE nmc_coin )
57+
4958 # P1 card 237: wire-vector KAT. Round-trips the canonical CAuxPow layout
5059 # against a REAL Namecoin mainnet block (757000). Same SCC as the sibling
5160 # tests (core + nmc_coin for the out-of-line MutableTransaction ctor).
@@ -121,6 +130,7 @@ if (BUILD_TESTING AND GTest_FOUND)
121130 include_directories (${gtest_SOURCE_DIR } /include ${gtest_SOURCE_DIR } )
122131 gtest_add_tests (nmc_auxpow_merkle_test "" AUTO )
123132 gtest_add_tests (nmc_template_builder_test "" AUTO )
133+ gtest_add_tests (nmc_underfill_guard_test "" AUTO )
124134 gtest_add_tests (nmc_auxpow_wire_test "" AUTO )
125135 gtest_add_tests (nmc_reconstruct_won_block_test "" AUTO )
126136 gtest_add_tests (nmc_mempool_name_test "" AUTO )
0 commit comments