Add tests with dropped packets

This commit is contained in:
Manuel Pégourié-Gonnard 2014-09-20 12:46:27 +02:00 committed by Paul Bakker
parent bc010a045c
commit a0719727da

View File

@ -116,6 +116,11 @@ requires_ipv6() {
fi fi
} }
# multiply the client timeout delay by the given factor for the next test
needs_more_time() {
CLI_DELAY_FACTOR=$1
}
# print_name <name> # print_name <name>
print_name() { print_name() {
echo -n "$1 " echo -n "$1 "
@ -197,13 +202,16 @@ wait_server_start() {
wait_client_done() { wait_client_done() {
CLI_PID=$! CLI_PID=$!
( sleep "$DOG_DELAY"; echo "TIMEOUT" >> $CLI_OUT; kill $CLI_PID ) & CLI_DELAY=$(( $DOG_DELAY * $CLI_DELAY_FACTOR ))
CLI_DELAY_FACTOR=1
( sleep $CLI_DELAY; echo "TIMEOUT" >> $CLI_OUT; kill $CLI_PID ) &
WATCHDOG_PID=$! WATCHDOG_PID=$!
wait $CLI_PID wait $CLI_PID
CLI_EXIT=$? CLI_EXIT=$?
kill $WATCHDOG_PID kill $WATCHDOG_PID >/dev/null 2>&1
wait $WATCHDOG_PID wait $WATCHDOG_PID
echo "EXIT: $CLI_EXIT" >> $CLI_OUT echo "EXIT: $CLI_EXIT" >> $CLI_OUT
@ -298,7 +306,7 @@ run_test() {
kill $SRV_PID kill $SRV_PID
wait $SRV_PID wait $SRV_PID
if [ -n "$PXY_CMD" ]; then if [ -n "$PXY_CMD" ]; then
kill $PXY_PID kill $PXY_PID >/dev/null 2>&1
wait $PXY_PID wait $PXY_PID
fi fi
@ -437,6 +445,7 @@ else
START_DELAY=1 START_DELAY=1
DOG_DELAY=10 DOG_DELAY=10
fi fi
CLI_DELAY_FACTOR=1
# Pick a "unique" server port in the range 10000-19999, and a proxy port # Pick a "unique" server port in the range 10000-19999, and a proxy port
PORT_BASE="0000$$" PORT_BASE="0000$$"
@ -2131,6 +2140,32 @@ run_test "DTLS proxy: inject invalid AD record" \
-s "Extra-header:" \ -s "Extra-header:" \
-c "HTTP/1.0 200 OK" -c "HTTP/1.0 200 OK"
run_test "DTLS proxy: drop a few packets" \
-p "$P_PXY drop=10" \
"$P_SRV dtls=1" \
"$P_CLI dtls=1" \
0 \
-s "Extra-header:" \
-c "HTTP/1.0 200 OK"
needs_more_time 2
run_test "DTLS proxy: drop a bit more packets" \
-p "$P_PXY drop=6" \
"$P_SRV dtls=1" \
"$P_CLI dtls=1" \
0 \
-s "Extra-header:" \
-c "HTTP/1.0 200 OK"
needs_more_time 3
run_test "DTLS proxy: drop more packets" \
-p "$P_PXY drop=3" \
"$P_SRV dtls=1" \
"$P_CLI dtls=1" \
0 \
-s "Extra-header:" \
-c "HTTP/1.0 200 OK"
# Final report # Final report
echo "------------------------------------------------------------------------" echo "------------------------------------------------------------------------"