upstream dev sync + bump to 1.18

This commit is contained in:
liquidraver
2026-10-15 20:14:53 +02:00
parent ec55eb0f4c
commit 38c59ee10f
14 changed files with 117 additions and 104 deletions
+20
View File
@@ -18,6 +18,7 @@ TEST(reply_routes, "UNIT-POLICY-001", "Reply routing and scope truth tables") {
}
TEST(hop_limits, "UNIT-POLICY-002", "Scoped unscoped and advert hop boundaries") {
Packet p;
p.transport_codes[0] = 0x1234; p.transport_codes[1] = 0;
for (uint8_t route : {ROUTE_TYPE_FLOOD, ROUTE_TYPE_TRANSPORT_FLOOD}) {
for (uint8_t type : {PAYLOAD_TYPE_ADVERT, PAYLOAD_TYPE_TXT_MSG}) {
p.header = route | (type << 2);
@@ -31,6 +32,25 @@ TEST(hop_limits, "UNIT-POLICY-002", "Scoped unscoped and advert hop boundaries")
p.header = ROUTE_TYPE_FLOOD; p.path_len = 0;
CHECK(isFloodHopLimitExceeded(&p, 5, 0, 2));
}
TEST(code_zero_unscoped, "UNIT-POLICY-003", "Transport flood with code 0 is un-scoped, other codes and routes are not") {
Packet p;
p.transport_codes[1] = 0x5678;
for (uint16_t code : {0x0000, 0x0001, 0xFFFE}) {
p.transport_codes[0] = code;
p.header = ROUTE_TYPE_TRANSPORT_FLOOD | (PAYLOAD_TYPE_TXT_MSG << 2);
CHECK(isUnscopedFlood(&p) == (code == 0));
p.setPathHashSizeAndCount(1, 3);
CHECK(isFloodHopLimitExceeded(&p, 5, 3, 2) == (code == 0));
p.setPathHashSizeAndCount(1, 0);
CHECK(isFloodHopLimitExceeded(&p, 5, 0, 2) == (code == 0));
p.header = ROUTE_TYPE_TRANSPORT_DIRECT | (PAYLOAD_TYPE_TXT_MSG << 2);
CHECK(!isUnscopedFlood(&p));
p.header = ROUTE_TYPE_FLOOD | (PAYLOAD_TYPE_TXT_MSG << 2);
CHECK(isUnscopedFlood(&p));
p.header = ROUTE_TYPE_DIRECT | (PAYLOAD_TYPE_TXT_MSG << 2);
CHECK(!isUnscopedFlood(&p));
}
}
TEST(rate_window, "UNIT-RATE-001", "Rate window threshold expiry and reset") {
RateLimiter limiter(2, 10);
CHECK(limiter.allow(100)); CHECK(limiter.allow(101));