Files
dat-thang/tests/test_replication.c
T

29 lines
1002 B
C
Raw Normal View History

2026-10-19 00:12:36 -04:00
#include "sleep_replication.h"
#include <assert.h>
#include <errno.h>
#include <string.h>
int main(void)
{
sleep_feed_t feed;
sleep_replication_t replica;
sleep_replication_request_t request;
memset(&feed, 0, sizeof(feed));
assert(sleep_replication_init(&replica, &feed, 1) == 0);
for (uint64_t i = 0; i < SLEEP_REPLICATION_QUEUE; i++) {
request.index = i; request.bytes = 0;
request.hash = request.nodes = 1;
assert(sleep_replication_request(&replica, &request) == 0);
}
assert(sleep_replication_want(&replica, 1000, 1) == -1);
assert(errno == ENOSPC && replica.request_count == SLEEP_REPLICATION_QUEUE);
assert(sleep_replication_unwant(&replica, 0, 64) == 0);
assert(replica.request_count == 64);
assert(sleep_replication_want(&replica, 1000, 2) == 0);
assert(replica.request_count == 66);
assert(sleep_replication_want(&replica, 1000, 2) == 0);
assert(replica.request_count == 66);
assert(sleep_replication_next(&replica, &request) == 1 && request.index == 64);
return 0;
}