| #!/bin/bash | |
| # SPDX-License-Identifier: GPL-2.0 | |
| # This runs all known tests across all known possible configurations we could | |
| # emulate in one run. | |
| set -e | |
| TEST_DIR=$(dirname $0) | |
| source $TEST_DIR/fw_lib.sh | |
| export HAS_FW_LOADER_USER_HELPER="" | |
| export HAS_FW_LOADER_USER_HELPER_FALLBACK="" | |
| run_tests() | |
| { | |
| proc_set_force_sysfs_fallback $1 | |
| proc_set_ignore_sysfs_fallback $2 | |
| $TEST_DIR/fw_filesystem.sh | |
| proc_set_force_sysfs_fallback $1 | |
| proc_set_ignore_sysfs_fallback $2 | |
| $TEST_DIR/fw_fallback.sh | |
| } | |
| run_test_config_0001() | |
| { | |
| echo "-----------------------------------------------------" | |
| echo "Running kernel configuration test 1 -- rare" | |
| echo "Emulates:" | |
| echo "CONFIG_FW_LOADER=y" | |
| echo "CONFIG_FW_LOADER_USER_HELPER=n" | |
| echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n" | |
| run_tests 0 1 | |
| } | |
| run_test_config_0002() | |
| { | |
| echo "-----------------------------------------------------" | |
| echo "Running kernel configuration test 2 -- distro" | |
| echo "Emulates:" | |
| echo "CONFIG_FW_LOADER=y" | |
| echo "CONFIG_FW_LOADER_USER_HELPER=y" | |
| echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n" | |
| proc_set_ignore_sysfs_fallback 0 | |
| run_tests 0 0 | |
| } | |
| run_test_config_0003() | |
| { | |
| echo "-----------------------------------------------------" | |
| echo "Running kernel configuration test 3 -- android" | |
| echo "Emulates:" | |
| echo "CONFIG_FW_LOADER=y" | |
| echo "CONFIG_FW_LOADER_USER_HELPER=y" | |
| echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y" | |
| run_tests 1 0 | |
| } | |
| check_mods | |
| check_setup | |
| if [ -f $FW_FORCE_SYSFS_FALLBACK ]; then | |
| run_test_config_0001 | |
| run_test_config_0002 | |
| run_test_config_0003 | |
| else | |
| echo "Running basic kernel configuration, working with your config" | |
| run_tests | |
| fi |