54 lines
1.3 KiB
Bash
Executable File
54 lines
1.3 KiB
Bash
Executable File
#! /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
|
|
|