Stop DM test event loops promptly on scenario failure
This commit is contained in:
1 parent
bd550159f0
commit
c63343cf2b
1 file changed
+5
-2
+5
-2
@@ -189,6 +189,7 @@ static void write_configs(const char* dir) {
|
||||
/* ── чистые проверки (без опроса) ── */
|
||||
|
||||
static int conn_up(struct UTUN_INSTANCE* inst, uint64_t nid) {
|
||||
if (!inst) return 0;
|
||||
struct ETCP_CONN* c = instance_find_conn(inst, nid);
|
||||
return c && c->initialized && c->links_up;
|
||||
}
|
||||
@@ -517,12 +518,13 @@ static void dm_tick(void* arg) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (t->result) { uasync_stop(t->ua); return; }
|
||||
if (t->phase == P_DONE) { t->result = 1; uasync_stop(t->ua); return; }
|
||||
|
||||
if (++t->ticks > MAX_TICKS) {
|
||||
fprintf(stderr, "test: timeout in phase %d (A_conn=%d C_conn=%d B_conn=%d)\n",
|
||||
(int)t->phase,
|
||||
conn_up(A, nc), conn_up(C, na), B ? conn_up(B, nc) : -1);
|
||||
conn_up(t->inst[IDX_A], nc), conn_up(t->inst[IDX_C], na), conn_up(t->inst[IDX_B], nc));
|
||||
t->result = 2;
|
||||
uasync_stop(t->ua);
|
||||
return;
|
||||
@@ -635,12 +637,13 @@ static void dm2_tick(void* arg) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (t->result) { uasync_stop(t->ua); return; }
|
||||
if (t->phase == S2_DONE) { t->result = 1; uasync_stop(t->ua); return; }
|
||||
|
||||
if (++t->ticks > MAX_TICKS) {
|
||||
fprintf(stderr, "s2: timeout in phase %d (A_conn=%d C_conn=%d B_conn=%d)\n",
|
||||
(int)t->phase,
|
||||
conn_up(A, nc), conn_up(C, na), B ? conn_up(B, nc) : -1);
|
||||
conn_up(t->inst[IDX_A], nc), conn_up(t->inst[IDX_C], na), conn_up(t->inst[IDX_B], nc));
|
||||
t->result = 2;
|
||||
uasync_stop(t->ua);
|
||||
return;
|
||||
|
||||
Reference in new issue
Block a user