Skip to content

Commit 5446974

Browse files
committed
test: add split, leader_resources, message
1 parent 97da82b commit 5446974

1 file changed

Lines changed: 114 additions & 17 deletions

File tree

test/main_test.c

Lines changed: 114 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ enum test {
1515
BLOCK,
1616
BLOCKS,
1717
BLOCK_REGISTER,
18+
LEADER_RES,
19+
SPLIT_BLOCK,
20+
NODE,
1821
ALLOCATION,
1922
LEADER,
2023
COMMAND_QUEUE,
@@ -25,7 +28,7 @@ int test_of(char *s, enum test t) {
2528
char *r = "\033[1;31m";
2629
char *g = "\033[1;36m";
2730
char *f = "\033[0m\0";
28-
printf("=> Test of : %s\n", s);
31+
printf("=>> Test of : %s\n", s);
2932
int succ = 0;
3033
int nb_test = 0;
3134
switch (t) {
@@ -42,7 +45,7 @@ int test_of(char *s, enum test t) {
4245
succ++;
4346
if (b->next == NULL)
4447
succ++;
45-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
48+
4649
break;
4750
case BLOCKS:
4851
nb_test = 5;
@@ -70,7 +73,6 @@ int test_of(char *s, enum test t) {
7073
printf("%sERRR: check fail: blks->blks[i] != NULL%s\n", r, f);
7174
}
7275

73-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
7476
break;
7577
case BLOCK_REGISTER:
7678
nb_test = 0;
@@ -98,26 +100,104 @@ int test_of(char *s, enum test t) {
98100
printf("%s>>> fail: b_r->blks[i]->size == 36 %s\n", r, f);
99101
}
100102

101-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
102103
break;
103-
case ALLOCATION:
104-
105-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
104+
case SPLIT_BLOCK:
105+
nb_test = 0;
106+
struct block *bbb1 = generate_block(1, 234, 0, 0, 0);
107+
struct block *bbb2 = split_block_u(bbb1, 200);
108+
nb_test++;
109+
if (bbb1)
110+
succ++;
111+
nb_test++;
112+
if (bbb2)
113+
succ++;
114+
nb_test++;
115+
if (bbb2->size == 200)
116+
succ++;
117+
nb_test++;
118+
if (bbb2->next)
119+
succ++;
120+
nb_test++;
121+
if (bbb2->next && bbb2->next->size == 34)
122+
succ++;
123+
else
124+
printf("%s>>> fail: bbb2->next && bbb2->size == 34 %s\n", r, f);
106125
break;
107-
case LEADER:
126+
case LEADER_RES:
127+
nb_test = 0;
128+
struct node *n = generate_node(1, 345);
129+
struct leader_resources *l_r = generate_leader_resources(5, 1);
130+
131+
nb_test++;
132+
if (l_r->id == n->id)
133+
succ++;
134+
else
135+
printf("%s>>> fail: l_r->id == n->id %s\n", r, f);
136+
137+
nb_test++;
138+
if (l_r->leader_blks != NULL)
139+
succ++;
140+
else
141+
printf("%s>>> fail: l_r->leader_blks != NULL %s\n", r, f);
142+
143+
nb_test++;
144+
if (l_r->leader_command_queue == NULL)
145+
succ++;
146+
else
147+
printf("%s>>> fail: l_r->leader_command_queue != NULL %s\n", r, f);
148+
149+
nb_test++;
150+
if (l_r->leader_reg != NULL)
151+
succ++;
152+
else
153+
printf("%s>>> fail: l_r->leader_reg != NULL %s\n", r, f);
108154

109-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
110-
break;
111-
case COMMAND_QUEUE:
112155

113-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
114156
break;
115157
case MESSAGE:
116-
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
158+
nb_test = 345;
159+
for (size_t o = 0; o < 345; o++ ) {
160+
void *pMessage = generate_message(1, DEF_NODE_USER, DEF_NODE_USER, 0, 0, OP_MALLOC);
161+
succ++;
162+
(void) pMessage;
163+
}
164+
break;
165+
case NODE:
166+
nb_test = 0;
167+
struct node *no_t = generate_node(1, 256);
168+
nb_test++;
169+
if (no_t)
170+
succ++;
171+
else {
172+
printf("%s>>> fail: n != NULL %s\n", r, f);
173+
return 0;
174+
}
175+
176+
nb_test++;
177+
if (no_t->id == 1)
178+
succ++;
179+
else
180+
printf("%s>>> fail: n->id == 1 %s\n", r, f);
181+
182+
nb_test++;
183+
if (no_t->size == 256)
184+
succ++;
185+
else
186+
printf("%s>>> fail: n->size == 256 %s\n", r, f);
187+
188+
nb_test++;
189+
if (no_t->isleader == 0)
190+
succ++;
191+
else
192+
printf("%s>>> fail: n->isleader == 0 %s\n", r, f);
193+
194+
117195
break;
118196
default:
119197
printf("%s>>> INFO : INVALID TEST REQUESTED %s\n", r, f);
198+
return 0;
120199
}
200+
printf("%s=== Tests %s : %d / %d SUCCEEDED =====%s\n\n", g, s, succ, nb_test, f);
121201
return succ == nb_test ? 1 : 0;
122202
}
123203

@@ -128,14 +208,31 @@ int main(int argc, char **argv) {
128208
char *g = "\033[1;36m";
129209
(void) r;
130210
char *f = "\033[0m\0";
131-
int nb_test = 3;
211+
int nb_test = 0;
132212
int succ = 0;
133-
// BLOCK
213+
printf("%s===== --- TESTS START --- =====%s\n\n", g, f);
214+
215+
nb_test++;
134216
succ += test_of("Block", BLOCK);
135217

136-
succ += test_of("Block", BLOCKS);
218+
nb_test++;
219+
succ += test_of("Blocks", BLOCKS);
220+
221+
nb_test++;
222+
succ += test_of("Block Register", BLOCK_REGISTER);
223+
224+
nb_test++;
225+
succ += test_of("Leader Resources Allocation", LEADER_RES);
226+
227+
nb_test++;
228+
succ += test_of("Message Generation", MESSAGE);
229+
230+
nb_test++;
231+
succ += test_of("Node", NODE);
232+
233+
nb_test++;
234+
succ += test_of("Split Block", SPLIT_BLOCK);
137235

138-
succ += test_of("Block", BLOCK_REGISTER);
139236

140237
printf("%s===== %d / %d TESTS SUCCEEDED =====%s\n\n", g, succ, nb_test, f);
141238
}

0 commit comments

Comments
 (0)