diff --git a/tests/test_chat_poll.c b/tests/test_chat_poll.c index d77955de..db351989 100644 --- a/tests/test_chat_poll.c +++ b/tests/test_chat_poll.c @@ -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);