Skip to content

Commit 521d285

Browse files
committed
[test] wiring/no_fixture_long_running: fix NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu
1 parent f56a7d9 commit 521d285

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

user/tests/wiring/no_fixture_long_running/network.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ test(NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu) {
101101
}
102102
Serial.printlnf("Using Echo Server: [%s]", udpEchoServerHostname);
103103
NAMED_SCOPE_GUARD(sg, {
104-
assertEqual(0, pushMailboxMsg(String::format("{\"mtu\": 0, \"error\": true, \"server\": \"%s\"}", 0, udpEchoServerHostname), 30000 /* wait */));
104+
assertEqual(0, pushMailboxMsg(String::format("{\"mtu\": %d, \"error\": true, \"server\": \"%s\"}", 0, udpEchoServerHostname), 30000 /* wait */));
105105
});
106106

107107
// 15 min gives the device time to go through a 10 min timeout & power cycle
@@ -173,6 +173,7 @@ test(NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu) {
173173
size_t minMtu = MIN_MTU;
174174
size_t maxMtu = MAX_MTU;
175175
while (mtu > IPV4_PLUS_UDP_HEADER_LENGTH) {
176+
Particle.process();
176177
// Fille send buffer with random data
177178
const size_t payloadSize = mtu - IPV4_PLUS_UDP_HEADER_LENGTH;
178179
rand.gen((char*)sendBuffer.get(), payloadSize);
@@ -188,11 +189,6 @@ test(NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu) {
188189

189190
Serial.printlnf("Resolved MTU: %u", mtu);
190191

191-
// The test should be running for at least a minute, just in case
192-
if (millis() - start < MINIMUM_TEST_TIME) {
193-
delay(millis() - start);
194-
}
195-
assertFalse((bool)networkState.disconnected);
196192
#if PLATFORM_ID != PLATFORM_BORON && PLATFORM_ID != PLATFORM_BSOM && PLATFORM_ID != PLATFORM_ELECTRON2
197193
assertMoreOrEqual((mtu - IPV4_PLUS_UDP_HEADER_LENGTH), MBEDTLS_SSL_MAX_CONTENT_LEN);
198194
#else
@@ -206,6 +202,7 @@ test(NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu) {
206202

207203
int replies = 0;
208204
for (int i = 0; i < 100; i++) {
205+
Particle.process();
209206
const size_t payloadSize = mtu - IPV4_PLUS_UDP_HEADER_LENGTH;
210207
rand.gen((char*)sendBuffer.get(), payloadSize);
211208
int sent = 0;
@@ -223,6 +220,7 @@ test(NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu) {
223220
assertMoreOrEqual(sent, 1);
224221
if (sent > 0) {
225222
for (auto start = millis(); millis() - start <= 5000;) {
223+
Particle.process();
226224
auto len = udp->parsePacket(10);
227225
if (len == payloadSize) {
228226
if (!memcmp(udp->buffer(), sendBuffer.get(), payloadSize)) {
@@ -239,6 +237,14 @@ test(NETWORK_01_LargePacketsDontCauseIssues_ResolveMtu) {
239237

240238
Serial.printlnf("Recvd %d replies", replies);
241239

240+
// The test should be running for at least a minute, just in case
241+
const auto end = start + MINIMUM_TEST_TIME;
242+
const auto now = millis();
243+
if (now < end) {
244+
delay(end - now);
245+
}
246+
assertFalse((bool)networkState.disconnected);
247+
242248
assertMoreOrEqual(replies, 100 * 10 / 2);
243249
assertFalse((bool)networkState.disconnected);
244250

0 commit comments

Comments
 (0)