mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
So the cause of the flaky tests is that they aren't waiting long enough for a connection to be established. Both the test in #3666 and the `iperf` tests have a timeout of 10 seconds. Connections _should_ be established **very quickly** in CI. However, I have a few guesses as to why they might not be, essentially causing us to have to wait for a timeout to re-initiate a connection request: - Packets arrive out of order or too quickly for the WireGuard state machine to establish a handshake. - Too many ICE candidates gathered (the gateway has 3 interfaces) This PR: - Refactors the iperf tests to be a little easier to maintain - Ensures `integration-tests` run for at least 30 seconds before timing out In any case, we can debug / optimize this further after snownet is merged, which might just solve the problem completely.
14 lines
660 B
Bash
Executable File
14 lines
660 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euox pipefail
|
|
|
|
mkdir -p iperf3results
|
|
|
|
docker compose exec --env RUST_LOG=info -it client /bin/sh -c 'iperf3 -t 30 -b 1G -R -c 172.20.0.110 --json' >>iperf3results/tcp_server2client.json
|
|
|
|
docker compose exec --env RUST_LOG=info -it client /bin/sh -c 'iperf3 -t 30 -b 1G -c 172.20.0.110 --json' >>iperf3results/tcp_client2server.json
|
|
|
|
docker compose exec --env RUST_LOG=info -it client /bin/sh -c 'iperf3 -t 30 -u -b 1G -R -c 172.20.0.110 --json' >>iperf3results/udp_server2client.json
|
|
|
|
docker compose exec --env RUST_LOG=info -it client /bin/sh -c 'iperf3 -t 30 -u -b 1G -c 172.20.0.110 --json' >>iperf3results/udp_client2server.json
|