aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter Wuille <pieter@wuille.net>2023-09-15 07:17:50 -0400
committerPieter Wuille <pieter@wuille.net>2023-09-15 07:18:13 -0400
commit3f4e1bb9ae5ee43da9503da37b9894037d613c6d (patch)
treed4531f79b64d4545d2bac13f96107e7787ac8dde
parent717a4d89449f607c5203138b128e1e30b4493f2c (diff)
downloadbitcoin-3f4e1bb9ae5ee43da9503da37b9894037d613c6d.tar.xz
tests: fix incorrect assumption in v2transport_test
-rw-r--r--src/test/net_tests.cpp14
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.