Check readback retries and refused acknowledgments keep feedback roots unchanged
This commit is contained in:
1 parent
739ee0802f
commit
7f0845e50c
1 file changed
+5
-1
@@ -157,12 +157,16 @@ static void sql_faults(struct UTUN_INSTANCE* inst, const char* channel, const ch
|
||||
u_free(result);
|
||||
assert(message_count(inst, channel) == messages + (int)publish);
|
||||
snprintf(read, sizeof(read), "{\"cmd\":\"feedback\",\"ch\":\"%s\",\"message_id\":\"%s\"}", channel, acknowledged);
|
||||
assert(!merkle_sync_read_hash(inst, MT_DATA_FEEDBACK, channel, 0, 0, before)); unsigned events = changed_events;
|
||||
result = command(inst, read, 0); u_free(result);
|
||||
assert(message_count(inst, channel) == messages + (int)publish);
|
||||
assert(message_count(inst, channel) == messages + (int)publish && changed_events == events);
|
||||
assert(!merkle_sync_read_hash(inst, MT_DATA_FEEDBACK, channel, 0, 0, after) && !memcmp(before, after, 32));
|
||||
}
|
||||
int messages = message_count(inst, channel); unsigned events = changed_events;
|
||||
assert(!merkle_sync_read_hash(inst, MT_DATA_FEEDBACK, channel, 0, 0, before));
|
||||
fail_ack_allocation = 1; result = command(inst, request, -1); u_free(result);
|
||||
assert(!fail_ack_allocation && changed_events == events && message_count(inst, channel) == messages);
|
||||
assert(!merkle_sync_read_hash(inst, MT_DATA_FEEDBACK, channel, 0, 0, after) && !memcmp(before, after, 32));
|
||||
}
|
||||
chat_event_set_handler(inst, NULL);
|
||||
printf("PASS: %u poll SQL faults,8 post-commit read failures,2 pre-commit allocation failures; state/events preserved, read-only retry, complete emoji text\n", cases);
|
||||
|
||||
Reference in new issue
Block a user