Browse Source

tests: wait for READY group routes before measuring NAT

stream-multiview
evgeny 1 week ago
parent
commit
3cb971fcba
  1. 4
      tests/stream_netns/nat_scenario.py
  2. 7
      tests/stream_netns/node.c

4
tests/stream_netns/nat_scenario.py

@ -25,8 +25,10 @@ def check_profiles(scenario):
snapshot = agents[target.name].rpc("snapshot")["snapshot"]
agents[source.name].rpc("nat_link", snapshot=snapshot, socket=transport)
target_id = agents[target.name].identity
source_id = agents[source.name].identity
scenario.wait(f"nat-link-{source.name}-{target.name}",
lambda data: target_id in data[source.name]["direct_up"], 20)
lambda data: target_id in data[source.name]["group_ready"] and
source_id in data[target.name]["group_ready"], 20)
connected.add(pair)
def store_owner(owner, observer):

7
tests/stream_netns/node.c

@ -224,6 +224,13 @@ static void statistics(struct lab *lab, uint64_t id, int loads) {
if (connection && connection->links_up && !connection->close_requested && connection->state != 2)
printf("%s\"%" PRIu64 "\"", separator++ ? "," : "", connection->peer_node_id);
}
printf("],\"group_ready\":["); separator = 0;
struct TOPO_GROUP *nat_group = topo_groups_find(lab->inst->topo_groups, TOPO_GROUP_UTUN);
for (struct ll_entry *entry = nat_group ? nat_group->nodes->head : NULL; entry; entry = entry->next) {
uint64_t peer = ((struct TOPO_GROUP_NODE *)entry)->node_id;
if (peer != lab->inst->node_id && topo_group_peer_ready(nat_group, peer))
printf("%s\"%" PRIu64 "\"", separator++ ? "," : "", peer);
}
printf("],\"streams\":["); separator = 0;
for (unsigned i = 0; i < LAB_STREAMS; i++) {
struct lab_stream *stream = &lab->streams[i];

Loading…
Cancel
Save