mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-02 12:14:38 +02:00
@@ -5,14 +5,26 @@
|
|||||||
WOLFSSL_ROOT=${WOLFSSL_ROOT:-$(pwd)}
|
WOLFSSL_ROOT=${WOLFSSL_ROOT:-$(pwd)}
|
||||||
UDP_PROXY_BIN=${UDP_PROXY_BIN:-"udp_proxy"}
|
UDP_PROXY_BIN=${UDP_PROXY_BIN:-"udp_proxy"}
|
||||||
DTLS_VERSION=${DTLS_VERSION:-"-v4"}
|
DTLS_VERSION=${DTLS_VERSION:-"-v4"}
|
||||||
|
PCAP_FILENAME=${PCAP_FILENAME:-"dtls${DTLS_VERSION}.pcap"}
|
||||||
# Additionally, you can add the following tests by setting it to '1':
|
# Additionally, you can add the following tests by setting it to '1':
|
||||||
DO_EXTENDED_SERVER_PERMUTATION_TEST=${DO_EXTENDED_SERVER_PERMUTATION_TEST:-0}
|
DO_EXTENDED_SERVER_PERMUTATION_TEST=${DO_EXTENDED_SERVER_PERMUTATION_TEST:-0}
|
||||||
DO_DELAY_TEST=${DO_DELAY_TEST:-0}
|
DO_DELAY_TEST=${DO_DELAY_TEST:-0}
|
||||||
|
|
||||||
# An example use would be: DTLS_VERSION=-v3 scripts/dtls.test
|
# An example use would be: DTLS_VERSION=-v3 scripts/dtls.test
|
||||||
|
# Note the output also consists of a single PCAP file which has a set of
|
||||||
|
# three packets (1-byte, strlen()-byte, 1-byte payload) deliniating each test.
|
||||||
|
|
||||||
#set -x # enable debug output
|
#set -x # enable debug output
|
||||||
|
|
||||||
|
# bwrap execution environment to avoid port conflicts
|
||||||
|
if [ "${AM_BWRAPPED-}" != "yes" ]; then
|
||||||
|
bwrap_path="$(command -v bwrap)"
|
||||||
|
if [ -n "$bwrap_path" ]; then
|
||||||
|
export AM_BWRAPPED=yes
|
||||||
|
exec "$bwrap_path" --cap-add ALL --unshare-net --dev-bind / / "$0" "$@"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
cleanup () {
|
cleanup () {
|
||||||
echo
|
echo
|
||||||
echo "Cleaning up..."
|
echo "Cleaning up..."
|
||||||
@@ -62,7 +74,7 @@ run_test() { # usage: run_test "<testName>" "<udp-proxy args>" "<server args>" "
|
|||||||
UDP_PROXY_PID=$(($! - 1))
|
UDP_PROXY_PID=$(($! - 1))
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
# Wrap this command in a timeout so that a deadlock won't bring down the entire test
|
# Wrap this command in a timeout so that a deadlock won't bring down the entire test
|
||||||
timeout -s KILL 5m stdbuf -oL -eL $WOLFSSL_ROOT/examples/client/client -u -p$PROXY_PORT $DTLS_VERSION $4 2>&1 | prepend "[client] "
|
timeout -s KILL 1m stdbuf -oL -eL $WOLFSSL_ROOT/examples/client/client -u -p$PROXY_PORT $DTLS_VERSION $4 2>&1 | prepend "[client] "
|
||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
echo "***Test failed***"
|
echo "***Test failed***"
|
||||||
((NUM_TESTS_FAILED++))
|
((NUM_TESTS_FAILED++))
|
||||||
@@ -74,8 +86,8 @@ run_test() { # usage: run_test "<testName>" "<udp-proxy args>" "<server args>" "
|
|||||||
}
|
}
|
||||||
|
|
||||||
test_dropping_packets () {
|
test_dropping_packets () {
|
||||||
for i in $(seq 3 11);do
|
for i in $(seq 0 11);do
|
||||||
run_test "Dropping ${i}th packet" "-d $i" "-Ta" ""
|
run_test "Dropping ${i}th packet" "-f $i" "-Ta" ""
|
||||||
done
|
done
|
||||||
|
|
||||||
# dropping last ack would be client error as wolfssl_read doesn't support WANT_WRITE as returned error
|
# dropping last ack would be client error as wolfssl_read doesn't support WANT_WRITE as returned error
|
||||||
@@ -127,7 +139,7 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
echo "Starting capture"
|
echo "Starting capture"
|
||||||
tcpdump -i lo -n port ${SERVER_PORT} -w ./dtls${DTLS_VERSION}.pcap -U &
|
tcpdump -i lo -n port ${SERVER_PORT} -w ${PCAP_FILENAME} -U &
|
||||||
TCPDUMP_PID=$!
|
TCPDUMP_PID=$!
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
|
|
||||||
@@ -153,4 +165,5 @@ else
|
|||||||
echo -e "\nThere were $NUM_TESTS_FAILED failures out of $NUM_TESTS_RUN tests\n"
|
echo -e "\nThere were $NUM_TESTS_FAILED failures out of $NUM_TESTS_RUN tests\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "The script ran for $SECONDS seconds"
|
||||||
exit $NUM_TESTS_FAILED
|
exit $NUM_TESTS_FAILED
|
||||||
|
Reference in New Issue
Block a user