The netconsole selftest relies on the availability of the netdevsim module.
To ensure the test can run correctly, we need to check if the netdevsim
module is either loaded or built-in before proceeding.
Update the netconsole selftest to check for the existence of
the /sys/bus/netdevsim/new_device file before running the test. If the
file is not found, the test is skipped with an explanation that the
CONFIG_NETDEVSIM kernel config option may not be enabled.
Signed-off-by: Breno Leitao <leitao@debian.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241108-netcon_selftest_deps-v1-1-1789cbf3adcd@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 # IDs for netdevsim
 NSIM_DEV_1_ID=$((256 + RANDOM % 256))
 NSIM_DEV_2_ID=$((512 + RANDOM % 256))
+NSIM_DEV_SYS_NEW="/sys/bus/netdevsim/new_device"
 
 # Used to create and delete namespaces
 source "${SCRIPTDIR}"/../../net/lib.sh
 
 # Create netdevsim interfaces
 create_ifaces() {
-       local NSIM_DEV_SYS_NEW=/sys/bus/netdevsim/new_device
 
        echo "$NSIM_DEV_2_ID" > "$NSIM_DEV_SYS_NEW"
        echo "$NSIM_DEV_1_ID" > "$NSIM_DEV_SYS_NEW"
                exit "${ksft_skip}"
        fi
 
+       if [ ! -f "${NSIM_DEV_SYS_NEW}" ]; then
+               echo "SKIP: file ${NSIM_DEV_SYS_NEW} does not exist. Check if CONFIG_NETDEVSIM is enabled" >&2
+               exit "${ksft_skip}"
+       fi
+
        if [ ! -d "${NETCONS_CONFIGFS}" ]; then
                echo "SKIP: directory ${NETCONS_CONFIGFS} does not exist. Check if NETCONSOLE_DYNAMIC is enabled" >&2
                exit "${ksft_skip}"