mirror of
https://gitlab.com/manzerbredes/esds.git
synced 2025-04-05 01:26:28 +02:00
.. | ||
api_log_5n | ||
api_read_clock_2n | ||
api_read_eth0_ncom_2s1r | ||
api_read_order_ncom_1s2r | ||
api_read_wlan0_ncom_2s1r | ||
api_receivet0_eth0_1s1r | ||
api_receivet_eth0_1s1r | ||
api_send0_eth0_1s1r | ||
api_send_4interfaces_1s2r | ||
api_send_eth0_1s1r | ||
api_send_eth0_2s1r | ||
api_send_eth0_3s1r | ||
api_send_interferences_wlan0_ncom_2s1r | ||
api_send_wlan0_1s2r | ||
api_send_wlan0_2s1r | ||
api_sendt_eth0_1s1r | ||
api_sendt_wlan0_1s2r | ||
api_wait_2n | ||
api_wait_end_3n | ||
breakpoints_auto_1n | ||
breakpoints_manual_1n | ||
breakpoints_manual_no_callback_1n | ||
hidden_node_2s1r | ||
interferences_bug1 | ||
mobility_eth0_bandwidth_1s1r | ||
mobility_eth0_bandwidth_2s1r | ||
mobility_eth0_latency_1s1r | ||
mobility_eth0_latency_2s1r | ||
mobility_wlan0_bandwidth_1s1r | ||
mobility_wlan0_latency_1s1r | ||
README.org | ||
run.py | ||
run.sh |
Test Description
- api_log_5n
[1/1]
- api_read_clock_2n
[1/1]
- api_read_eth0_ncom_2s1r
[3/3]
- api_read_order_ncom_1s2r
[2/2]
- api_read_wlan0_ncom_2s1r
[1/1]
- api_receivet0_eth0_1s1r
[1/1]
- api_receivet_eth0_1s1r
[3/3]
- api_send0_eth0_1s1r
[1/1]
- api_send_4interfaces_1s2r
[1/1]
- api_send_eth0_1s1r
[3/3]
- api_send_eth0_2s1r
[1/1]
- api_send_eth0_3s1r
[5/5]
- api_sendt_eth0_1s1r
[3/3]
- api_sendt_wlan0_1s2r
[2/2]
- api_send_wlan0_1s2r
[3/3]
- api_send_wlan0_2s1r
[1/1]
- api_wait_2n
[1/1]
- api_wait_end_3n
[2/2]
- breakpoints_auto_1n
[1/1]
- breakpoints_manual_1n
[1/1]
- breakpoints_manual_no_callback_1n
[1/1]
- hidden_node_2s1r
[2/2]
- mobility_eth0_bandwidth_1s1r
[1/1]
- mobility_eth0_bandwidth_2s1r
[1/1]
- mobility_eth0_latency_1s1r
[1/1]
- mobility_eth0_latency_2s1r
[1/1]
- mobility_wlan0_bandwidth_1s1r
[1/1]
- mobility_wlan0_latency_1s1r
[1/1]
Tests folders names convention:
- m senders and n receivers is written "<m>s<n>r" (ex: "1s5r")
- n nodes is written "<n>n" (ex: "5n")
- Tests names follow the following format "<title>_<m>s<n>r" or "<title>_<n>n" (ex: "api_send_rcv_1s5r", "ping_pong_2n")
- Tests that assess elementary API functions must start with the "api" keyword (ex: "api_send_rcv_1s5r")
This file keeps track of the tested features of ESDS.
api_log_5n [1/1]
- Logs are performed in order
api_read_clock_2n [1/1]
- Read the current simulated time
api_read_eth0_ncom_2s1r [3/3]
- No communication must means ncom_eth0=0
- Work with 1 communication
- Work with 2 communications
api_read_order_ncom_1s2r [2/2]
- Order of node instantiation (sender before receiver in simulator.py) must not matter on the results if a communication starts while read to the ncom register is performed
- If a communication starts while read to ncom is performed, it must return 0 (deterministic rule)
api_read_wlan0_ncom_2s1r [1/1]
- Ensure similar behavior wlan0/eth0 for reads of the ncom registers
api_receivet0_eth0_1s1r [1/1]
- receivet() with a timeout of 0 must be able to receive the data while keeping the simulated time unchange
api_receivet_eth0_1s1r [3/3]
- If timeout do not expire, receivet() must return the receive data from the queue
- If timeout expire, receivet() must return -1
- If data is received while timeout expire (same simulated time), data must be return by receivet()
api_send0_eth0_1s1r [1/1]
- Whatever the simulated time, instantaneous send() works as expected
api_send_4interfaces_1s2r [1/1]
- Perform send with 4 interfaces: 2 wireless + 2 wired
api_send_eth0_1s1r [3/3]
- Proper duration for 1 communication with 0s latency
- No data received on eth0 when receiver is turned off
- Communications on eth0 is created and performed (simulated time increase) even if receiver is turned off
api_send_eth0_2s1r [1/1]
- Check that a batch of 2 sends to 2 receivers works
api_send_eth0_3s1r [5/5]
- 3 senders transmitting to same node get their bandwidth divided by 3
- If 2 of the 3 senders end their communications, the remaining one get its bandwidth divided by 2 to send its remaining amount of data
- If 1 of the 3 senders end its communication, the remaining 2 get their bandwidth divided by 2 to send their remaining amount of data
- 3 senders get their bandwidth divided by 3, 2 by 2 and 1 get full bandwidth
- Ensure that after all these bandwidth sharing, a single send work as expected (sharing is reset)
api_sendt_eth0_1s1r [3/3]
- sendt() works if timeout > transmission duration
- sendt() works if timeout = transmission duration
- sendt() do not work if timeout < transmission duration
api_sendt_wlan0_1s2r [2/2]
- Transmission work if timeout do not expire
- Transmission does not work if timeout expire
api_send_wlan0_1s2r [3/3]
- All reachable receivers received the data
- If receiver turned off data is not received
- If receiver turned off at least one time during communication it must not receive the data
api_send_wlan0_2s1r [1/1]
- If 2 receivers send at the same time to the same receiver, interference must happend on the receiver
api_wait_2n [1/1]
- wait() works as expected on 2 nodes
api_wait_end_3n [2/2]
- wait() for 0s works as expected
- wait_end() works as expected
breakpoints_auto_1n [1/1]
- Simulation is interrupted every 3.3s during a transmission
breakpoints_manual_1n [1/1]
- Simulation breaks at 1,2,3 and 10s
breakpoints_manual_no_callback_1n [1/1]
- Breakpoints work if no callback is specified
hidden_node_2s1r [2/2]
- Bandwidth of 0bps between 2 nodes means unreachable
- Interferences occur on the node in between (hidden node problem)
mobility_eth0_bandwidth_1s1r [1/1]
- Every 0.5s bandwidth get multiply by 2
mobility_eth0_bandwidth_2s1r [1/1]
- Every 0.5s bandwidth get multiply by 2 with 2 senders sending to the same receiver (bandwidth divided by 2)
mobility_eth0_latency_1s1r [1/1]
- Every 0.5s latency increases by 0.5s
mobility_eth0_latency_2s1r [1/1]
- Every 0.5s latency increases by 0.5s with 2 senders sending to the same receiver (bandwidth divided by 2)
mobility_wlan0_bandwidth_1s1r [1/1]
- Every 0.5s bandwidth get multiply by 2
mobility_wlan0_latency_1s1r [1/1]
- Every 0.5s latency increases by 0.5s