diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-28 22:01:41 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-28 22:01:41 +0200 |
| commit | 5571af3097b02394f5ec77214be8092ee99e04e9 (patch) | |
| tree | 1dcd2bd04f5ee4c016677f679f28d1c77cce329d /test/discovery.et | |
| parent | f06b2a86807e250725175170295176ed816912a5 (diff) | |
Test: all discovery ordering also for non-localhost case
Diffstat (limited to 'test/discovery.et')
| -rw-r--r-- | test/discovery.et | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/test/discovery.et b/test/discovery.et index f80acb3..763d6b2 100644 --- a/test/discovery.et +++ b/test/discovery.et @@ -509,6 +509,90 @@ test CommonOwnerDiscovery: /peer [0-9]+ addr ${p3.node.ip} 29665/ +test DiscoveryAnyOrder: + let services = "discovery" + + subnet sd + subnet ss + subnet s1 + subnet s2 + subnet s3 + subnet s4 + subnet s5 + subnet s6 + + spawn on sd as pd + spawn on ss as ps # connection order to pd: + spawn on s1 as p1 # search - p1 - ps + spawn on s2 as p2 # search - ps - p2 + spawn on s3 as p3 # p3 - search - ps + spawn on s4 as p4 # p4 - ps - search + spawn on s5 as p5 # ps - p5 - search + spawn on s6 as p6 # ps - search - p6 + + send "create-identity Discovery" to pd + send "create-identity Searching" to ps + send "create-identity Device1" to p1 + send "create-identity Device2" to p2 + send "create-identity Device3" to p3 + send "create-identity Device4" to p4 + send "create-identity Device5" to p5 + send "create-identity Device6" to p6 + + expect /create-identity-done ref $refpat.*/ from pd + expect /create-identity-done ref ($refpat).*/ from ps capture ps_id + expect /create-identity-done ref ($refpat).*/ from p1 capture p1_id + expect /create-identity-done ref ($refpat).*/ from p2 capture p2_id + expect /create-identity-done ref ($refpat).*/ from p3 capture p3_id + expect /create-identity-done ref ($refpat).*/ from p4 capture p4_id + expect /create-identity-done ref ($refpat).*/ from p5 capture p5_id + expect /create-identity-done ref ($refpat).*/ from p6 capture p6_id + + send "start-server services $services" to pd + # wait for the first server to start and claim the discovery port + expect /start-server-done/ from pd + + for p in [ ps, p1, p2, p3, p4, p5, p6 ]: + send "start-server services $services" to p + for p in [ ps, p1, p2, p3, p4, p5, p6 ]: + expect /start-server-done/ from p + + send "discovery-connect $p1_id" to ps + send "discovery-connect $p2_id" to ps + + send "peer-add ${pd.node.ip} 29665" to p1 + send "peer-add ${pd.node.ip} 29665" to p3 + send "peer-add ${pd.node.ip} 29665" to p4 + expect /peer [0-9]+ id Discovery/ from p1 + expect /peer [0-9]+ id Discovery/ from p3 + expect /peer [0-9]+ id Discovery/ from p4 + + send "discovery-connect $p3_id" to ps + + send "peer-add ${pd.node.ip} 29665" to ps + expect /peer [0-9]+ id Discovery/ from ps + + expect /peer [0-9]+ id Device1/ from ps + expect /peer [0-9]+ id Device3/ from ps + + send "peer-add ${pd.node.ip} 29665" to p2 + expect /peer [0-9]+ id Device2/ from ps + + send "discovery-connect $p4_id" to ps + expect /peer [0-9]+ id Device4/ from ps + + send "peer-add ${pd.node.ip} 29665" to p5 + expect /peer [0-9]+ id Discovery/ from p5 + + send "discovery-connect $p5_id" to ps + send "discovery-connect $p6_id" to ps + expect /peer [0-9]+ id Device5/ from ps + + send "peer-add ${pd.node.ip} 29665" to p6 + expect /peer [0-9]+ id Discovery/ from p6 + expect /peer [0-9]+ id Device6/ from ps + + test DiscoveryOnLocalhost: let services = "discovery" node n |