| #!/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="" |
| export HAS_FW_LOADER_COMPRESS="" |
| |
| 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 |
| |
| proc_set_force_sysfs_fallback $1 |
| proc_set_ignore_sysfs_fallback $2 |
| $TEST_DIR/fw_upload.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 |
| |
| echo "Running namespace test: " |
| $TEST_DIR/fw_namespace $DIR/trigger_request |
| echo "OK" |
| |
| 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 |