54 lines
1.3 KiB
Bash
54 lines
1.3 KiB
Bash
|
#! /bin/bash
|
||
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
set -e
|
||
|
set -u
|
||
|
set -x
|
||
|
|
||
|
unset KBUILD_OUTPUT
|
||
|
|
||
|
GENERATE_GCOV_REPORT=0
|
||
|
while getopts "g" opt; do
|
||
|
case ${opt} in
|
||
|
g)
|
||
|
GENERATE_GCOV_REPORT=1
|
||
|
;;
|
||
|
:)
|
||
|
echo "USAGE: config.sh [-g]"
|
||
|
exit 1
|
||
|
;;
|
||
|
?)
|
||
|
echo "Invalid option: -${OPTARG}."
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
CONF_FILE="tools/testing/selftests/net/config"
|
||
|
|
||
|
# no modules
|
||
|
scripts/config --file "$CONF_FILE" --disable CONFIG_MODULES
|
||
|
|
||
|
# enable RDS
|
||
|
scripts/config --file "$CONF_FILE" --enable CONFIG_RDS
|
||
|
scripts/config --file "$CONF_FILE" --enable CONFIG_RDS_TCP
|
||
|
|
||
|
if [ "$GENERATE_GCOV_REPORT" -eq 1 ]; then
|
||
|
# instrument RDS and only RDS
|
||
|
scripts/config --file "$CONF_FILE" --enable CONFIG_GCOV_KERNEL
|
||
|
scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_ALL
|
||
|
scripts/config --file "$CONF_FILE" --enable GCOV_PROFILE_RDS
|
||
|
else
|
||
|
scripts/config --file "$CONF_FILE" --disable CONFIG_GCOV_KERNEL
|
||
|
scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_ALL
|
||
|
scripts/config --file "$CONF_FILE" --disable GCOV_PROFILE_RDS
|
||
|
fi
|
||
|
|
||
|
# need network namespaces to run tests with veth network interfaces
|
||
|
scripts/config --file "$CONF_FILE" --enable CONFIG_NET_NS
|
||
|
scripts/config --file "$CONF_FILE" --enable CONFIG_VETH
|
||
|
|
||
|
# simulate packet loss
|
||
|
scripts/config --file "$CONF_FILE" --enable CONFIG_NET_SCH_NETEM
|
||
|
|