mirror of
https://gitlab.com/manzerbredes/esds.git
synced 2025-04-19 12:09:44 +00:00
Improve tests
This commit is contained in:
parent
1bef51d878
commit
d0ae9f3296
85 changed files with 77 additions and 44 deletions
40
tests/api_send_eth0_3s1r/out
Normal file
40
tests/api_send_eth0_3s1r/out
Normal file
|
@ -0,0 +1,40 @@
|
|||
[t=0.000,src=n0] Send 1 bytes to n3 on eth0
|
||||
[t=0.000,src=n1] Send 1 bytes to n3 on eth0
|
||||
[t=0.000,src=n2] Send 1 bytes to n3 on eth0
|
||||
[t=3.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=3.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=3.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=3.000,src=n3] Received: Hello World from 0!
|
||||
[t=3.000,src=n0] Send 2 bytes to n3 on eth0
|
||||
[t=3.000,src=n1] Send 1 bytes to n3 on eth0
|
||||
[t=3.000,src=n2] Send 1 bytes to n3 on eth0
|
||||
[t=3.000,src=n3] Received: Hello World from 1!
|
||||
[t=3.000,src=n3] Received: Hello World from 2!
|
||||
[t=6.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=6.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=6.000,src=n3] Received: Hello World from 1!
|
||||
[t=6.000,src=n3] Received: Hello World from 2!
|
||||
[t=7.000,src=n3] Receive 2 bytes on eth0
|
||||
[t=7.000,src=n3] Received: Hello World (2bytes) from 0!
|
||||
[t=7.000,src=n0] Send 2 bytes to n3 on eth0
|
||||
[t=7.000,src=n1] Send 2 bytes to n3 on eth0
|
||||
[t=7.000,src=n2] Send 1 bytes to n3 on eth0
|
||||
[t=10.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=10.000,src=n3] Received: Hello World from 2!
|
||||
[t=12.000,src=n3] Receive 2 bytes on eth0
|
||||
[t=12.000,src=n3] Receive 2 bytes on eth0
|
||||
[t=12.000,src=n3] Received: Hello World (2bytes) from 0!
|
||||
[t=12.000,src=n0] Send 1 bytes to n3 on eth0
|
||||
[t=12.000,src=n1] Send 2 bytes to n3 on eth0
|
||||
[t=12.000,src=n2] Send 3 bytes to n3 on eth0
|
||||
[t=12.000,src=n3] Received: Hello World (2bytes) from 1!
|
||||
[t=15.000,src=n3] Receive 1 bytes on eth0
|
||||
[t=15.000,src=n3] Received: Hello World from 0!
|
||||
[t=17.000,src=n3] Receive 2 bytes on eth0
|
||||
[t=17.000,src=n3] Received: Hello World from 1!
|
||||
[t=18.000,src=n3] Receive 3 bytes on eth0
|
||||
[t=18.000,src=n3] Received: Hello World from 2!
|
||||
[t=18.000,src=n0] Send 5 bytes to n3 on eth0
|
||||
[t=23.000,src=n3] Receive 5 bytes on eth0
|
||||
[t=23.000,src=n3] Received: Hello World from 0!
|
||||
[t=23.000,src=esds] Simulation ends
|
19
tests/api_send_eth0_3s1r/receiver.py
Normal file
19
tests/api_send_eth0_3s1r/receiver.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
def receive(node, n):
|
||||
for i in range(0,n):
|
||||
code, data=node.receive("eth0")
|
||||
msg="Received: "+data if code == 0 else "Receive failed code="+str(code)
|
||||
node.log(msg)
|
||||
|
||||
def execute(api):
|
||||
# Receive the first 3 send that should end at 3s
|
||||
receive(api,3)
|
||||
# Receive the first 3 send that should end at 7s
|
||||
receive(api,3)
|
||||
# Receive the first 3 send that should end at 12s
|
||||
receive(api,3)
|
||||
# Receive the first 3 send that should end at 18s
|
||||
receive(api,3)
|
||||
# Should ends at 23s
|
||||
receive(api,1)
|
37
tests/api_send_eth0_3s1r/sender.py
Normal file
37
tests/api_send_eth0_3s1r/sender.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# Node that bandwidths at setup in a way that 1 byte is send in 1 seconds with no sharing
|
||||
|
||||
def execute(api):
|
||||
# Should be completed at 3s (bandwidth divided by 3)
|
||||
api.send("eth0","Hello World from {}!".format(api.node_id),1,3) # Shoud lasts 3s
|
||||
|
||||
# These send should start at 3s and be completed at 7s
|
||||
if api.node_id==0:
|
||||
api.send("eth0","Hello World (2bytes) from {}!".format(api.node_id),2,3) # Should lasts 3s + 1s = 4s
|
||||
else:
|
||||
api.send("eth0","Hello World from {}!".format(api.node_id),1,3) # Should lasts 3s
|
||||
api.wait(1) # Sync with node 0 at 7s
|
||||
|
||||
# Those sends should start at 7s and be completed at 12s
|
||||
if api.node_id<=1:
|
||||
api.send("eth0","Hello World (2bytes) from {}!".format(api.node_id),2,3) # Should last 3s + 2s = 5s
|
||||
# Completed at 12s since 3 nodes are sharing the bandwidth up to 10s
|
||||
# then the 2 two remaining node send their last byte up to 12s
|
||||
else:
|
||||
api.send("eth0","Hello World from {}!".format(api.node_id),1,3) # Should last 3s
|
||||
# Completed at 10s (3 nodes are sharing the bandwidth)
|
||||
api.wait(2) # Sync with node 0-1 at 12s
|
||||
|
||||
# Should start at 12s
|
||||
# Node 0 sends 1 byte, node 1 sends 2 byte and node 2 sends 3
|
||||
# These send should end at 18s
|
||||
api.send("eth0","Hello World from {}!".format(api.node_id),api.node_id+1,3) # Should lasts 3s, 5s and 6s
|
||||
|
||||
# Finally a single send from node 0
|
||||
if api.node_id==0:
|
||||
api.wait(3) # Since node 0 send ends at 15s we sync it to 18s
|
||||
api.send("eth0","Hello World from {}!".format(api.node_id),5,3) # Should takes 5 seconds (ends at 23s)
|
||||
|
||||
|
||||
|
16
tests/api_send_eth0_3s1r/simulator.py
Executable file
16
tests/api_send_eth0_3s1r/simulator.py
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
# Load ESDS
|
||||
import esds
|
||||
import numpy as np
|
||||
|
||||
B=np.full((4,4),8)
|
||||
L=np.full((4,4),0)
|
||||
s=esds.Simulator({"wlan0":{"bandwidth":B, "latency":L, "is_wired":False}, "eth0":{"bandwidth":B, "latency":L, "is_wired":True}})
|
||||
|
||||
s.create_node("sender")
|
||||
s.create_node("sender")
|
||||
s.create_node("sender")
|
||||
s.create_node("receiver")
|
||||
|
||||
s.run()
|
Loading…
Add table
Add a link
Reference in a new issue