diff options
author | Pieter Wuille <pieter@wuille.net> | 2023-09-15 07:17:50 -0400 |
---|---|---|
committer | Pieter Wuille <pieter@wuille.net> | 2023-09-15 07:18:13 -0400 |
commit | 3f4e1bb9ae5ee43da9503da37b9894037d613c6d (patch) | |
tree | d4531f79b64d4545d2bac13f96107e7787ac8dde | |
parent | 717a4d89449f607c5203138b128e1e30b4493f2c (diff) | |
download | bitcoin-3f4e1bb9ae5ee43da9503da37b9894037d613c6d.tar.xz |
tests: fix incorrect assumption in v2transport_test
-rw-r--r-- | src/test/net_tests.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/test/net_tests.cpp b/src/test/net_tests.cpp index 34d7867079..22e1fe7c55 100644 --- a/src/test/net_tests.cpp +++ b/src/test/net_tests.cpp @@ -1357,11 +1357,19 @@ BOOST_AUTO_TEST_CASE(v2transport_test) BOOST_CHECK(!(*ret)[1]); BOOST_CHECK((*ret)[2] && (*ret)[2]->m_type == "tx" && Span{(*ret)[2]->m_recv} == MakeByteSpan(msg_data_2)); - // Then send a message with a bit error, expecting failure. + // Then send a message with a bit error, expecting failure. It's possible this failure does + // not occur immediately (when the length descriptor was modified), but it should come + // eventually, and no messages can be delivered anymore. tester.SendMessage("bad", msg_data_1); tester.Damage(); - ret = tester.Interact(); - BOOST_CHECK(!ret); + while (true) { + ret = tester.Interact(); + if (!ret) break; // failure + BOOST_CHECK(ret->size() == 0); // no message can be delivered + // Send another message. + auto msg_data_3 = g_insecure_rand_ctx.randbytes<uint8_t>(InsecureRandRange(10000)); + tester.SendMessage(uint8_t(12), msg_data_3); // getheaders short id + } } // Normal scenario, with a transport in responder node. |