commit f61aedd3a9a665553a4edf09a16021fc1f26c30b
parent 94644569a016ec49a7afa64b57ff3a04bcc59dc8
Author: William Casarin <jb55@jb55.com>
Date: Fri, 24 Oct 2025 16:39:30 -0700
test: attemp fix for flaky test
Signed-off-by: William Casarin <jb55@jb55.com>
Diffstat:
| M | test.c | | | 18 | ++++++++++++------ |
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/test.c b/test.c
@@ -1436,7 +1436,7 @@ static void test_query()
struct ndb_filter filters[2], *f;
struct ndb_config config;
struct ndb_query_result results[4];
- int count, cap;
+ int count, cap, nres;
uint64_t subid, note_ids[4];
ndb_default_config(&config);
@@ -1474,16 +1474,15 @@ static void test_query()
assert(ndb_process_event(ndb, ev, strlen(ev)));
assert(ndb_process_event(ndb, ev2, strlen(ev2)));
- assert(ndb_process_event(ndb, ev3, strlen(ev3)));
- assert(ndb_process_event(ndb, ev4, strlen(ev4)));
- for (count = 0; count < 2;)
- count += ndb_wait_for_notes(ndb, subid, note_ids+count, 4-count);
+ for (nres = 2; nres > 0;)
+ nres -= ndb_wait_for_notes(ndb, subid, note_ids, 2);
ndb_begin_query(ndb, &txn);
assert(ndb_query(&txn, f, 1, results, cap, &count));
assert(count == 2);
assert(0 == memcmp(ndb_note_id(results[0].note), id2, 32));
+ ndb_end_query(&txn);
ndb_filter_destroy(f);
ndb_filter_init(f);
@@ -1495,10 +1494,17 @@ static void test_query()
ndb_filter_end_field(f);
ndb_filter_end(f);
+ assert((subid = ndb_subscribe(ndb, f, 1)));
+ assert(ndb_process_event(ndb, ev3, strlen(ev3)));
+ assert(ndb_process_event(ndb, ev4, strlen(ev4)));
+
+ for (nres = 2; nres > 0;)
+ nres -= ndb_wait_for_notes(ndb, subid, note_ids, 2);
+ ndb_begin_query(ndb, &txn);
+
count = 0;
assert(ndb_query(&txn, f, 1, results, cap, &count));
ndb_print_kind_keys(&txn);
- printf("count %d\n", count);
assert(count == 2);
assert(!strcmp(ndb_note_content(results[0].note), "hmm"));
assert(!strcmp(ndb_note_content(results[1].note), "what"));