1 #!/bin/bash 2 # SPDX-License-Identifier: GPL-2.0 3 4 # This runs all known tests across all known possible configurations we could 5 # emulate in one run. 6 7 set -e 8 9 TEST_DIR=$(dirname $0) 10 source $TEST_DIR/fw_lib.sh 11 12 export HAS_FW_LOADER_USER_HELPER="" 13 export HAS_FW_LOADER_USER_HELPER_FALLBACK="" 14 export HAS_FW_LOADER_COMPRESS="" 15 16 run_tests() 17 { 18 proc_set_force_sysfs_fallback $1 19 proc_set_ignore_sysfs_fallback $2 20 $TEST_DIR/fw_filesystem.sh 21 22 proc_set_force_sysfs_fallback $1 23 proc_set_ignore_sysfs_fallback $2 24 $TEST_DIR/fw_fallback.sh 25 26 proc_set_force_sysfs_fallback $1 27 proc_set_ignore_sysfs_fallback $2 28 $TEST_DIR/fw_upload.sh 29 } 30 31 run_test_config_0001() 32 { 33 echo "-----------------------------------------------------" 34 echo "Running kernel configuration test 1 -- rare" 35 echo "Emulates:" 36 echo "CONFIG_FW_LOADER=y" 37 echo "CONFIG_FW_LOADER_USER_HELPER=n" 38 echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n" 39 run_tests 0 1 40 } 41 42 run_test_config_0002() 43 { 44 echo "-----------------------------------------------------" 45 echo "Running kernel configuration test 2 -- distro" 46 echo "Emulates:" 47 echo "CONFIG_FW_LOADER=y" 48 echo "CONFIG_FW_LOADER_USER_HELPER=y" 49 echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n" 50 proc_set_ignore_sysfs_fallback 0 51 run_tests 0 0 52 } 53 54 run_test_config_0003() 55 { 56 echo "-----------------------------------------------------" 57 echo "Running kernel configuration test 3 -- android" 58 echo "Emulates:" 59 echo "CONFIG_FW_LOADER=y" 60 echo "CONFIG_FW_LOADER_USER_HELPER=y" 61 echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y" 62 run_tests 1 0 63 } 64 65 check_mods 66 check_setup 67 68 echo "Running namespace test: " 69 $TEST_DIR/fw_namespace $DIR/trigger_request 70 echo "OK" 71 72 if [ -f $FW_FORCE_SYSFS_FALLBACK ]; then 73 run_test_config_0001 74 run_test_config_0002 75 run_test_config_0003 76 else 77 echo "Running basic kernel configuration, working with your config" 78 run_tests 79 fi
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.