On Wed, Jan 29, 2025 at 03:36:01PM +0100, Anna Emese Nyiri wrote: > diff --git a/tools/testing/selftests/net/test_so_rcv.sh b/tools/testing/selftests/net/test_so_rcv.sh > new file mode 100755 > index 000000000000..12d37f9ab905 > --- /dev/null > +++ b/tools/testing/selftests/net/test_so_rcv.sh > @@ -0,0 +1,56 @@ > +#!/bin/bash > +# SPDX-License-Identifier: GPL-2.0 > + > +HOST=127.0.0.1 > +PORT=1234 > +TOTAL_TESTS=0 > +FAILED_TESTS=0 > + > +declare -A TESTS=( > + ["SO_RCVPRIORITY"]="-P 2" > + ["SO_RCVMARK"]="-M 3" > +) > + > +check_result() { > + ((TOTAL_TESTS++)) > + if [ "$1" -ne 0 ]; then > + ((FAILED_TESTS++)) > + fi > +} > + > +for test_name in "${!TESTS[@]}"; do > + echo "Running $test_name test" > + arg=${TESTS[$test_name]} > + > + ./so_rcv_listener $arg $HOST $PORT & > + LISTENER_PID=$! > + > + if ./cmsg_sender $arg $HOST $PORT; then In addition to the other comments, please run both binaries in a namespace that the test creates at the beginning via setup_ns() (from lib.sh) and deletes at the end via cleanup_ns(). Thanks for adding the test. > + echo "Sender succeeded for $test_name" > + else > + echo "Sender failed for $test_name" > + kill "$LISTENER_PID" 2>/dev/null > + wait "$LISTENER_PID" > + check_result 1 > + continue > + fi > + > + wait "$LISTENER_PID" > + LISTENER_EXIT_CODE=$? > + > + if [ "$LISTENER_EXIT_CODE" -eq 0 ]; then > + echo "Rcv test OK for $test_name" > + check_result 0 > + else > + echo "Rcv test FAILED for $test_name" > + check_result 1 > + fi > +done > + > +if [ "$FAILED_TESTS" -ne 0 ]; then > + echo "FAIL - $FAILED_TESTS/$TOTAL_TESTS tests failed" > + exit 1 > +else > + echo "OK - All $TOTAL_TESTS tests passed" > + exit 0 > +fi > -- > 2.43.0 >