18c2ecf20Sopenharmony_ci#!/bin/bash
28c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci# This runs all known tests across all known possible configurations we could
58c2ecf20Sopenharmony_ci# emulate in one run.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciset -e
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciTEST_DIR=$(dirname $0)
108c2ecf20Sopenharmony_cisource $TEST_DIR/fw_lib.sh
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciexport HAS_FW_LOADER_USER_HELPER=""
138c2ecf20Sopenharmony_ciexport HAS_FW_LOADER_USER_HELPER_FALLBACK=""
148c2ecf20Sopenharmony_ciexport HAS_FW_LOADER_COMPRESS=""
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_cirun_tests()
178c2ecf20Sopenharmony_ci{
188c2ecf20Sopenharmony_ci	proc_set_force_sysfs_fallback $1
198c2ecf20Sopenharmony_ci	proc_set_ignore_sysfs_fallback $2
208c2ecf20Sopenharmony_ci	$TEST_DIR/fw_filesystem.sh
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	proc_set_force_sysfs_fallback $1
238c2ecf20Sopenharmony_ci	proc_set_ignore_sysfs_fallback $2
248c2ecf20Sopenharmony_ci	$TEST_DIR/fw_fallback.sh
258c2ecf20Sopenharmony_ci}
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_cirun_test_config_0001()
288c2ecf20Sopenharmony_ci{
298c2ecf20Sopenharmony_ci	echo "-----------------------------------------------------"
308c2ecf20Sopenharmony_ci	echo "Running kernel configuration test 1 -- rare"
318c2ecf20Sopenharmony_ci	echo "Emulates:"
328c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER=y"
338c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER=n"
348c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n"
358c2ecf20Sopenharmony_ci	run_tests 0 1
368c2ecf20Sopenharmony_ci}
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_cirun_test_config_0002()
398c2ecf20Sopenharmony_ci{
408c2ecf20Sopenharmony_ci	echo "-----------------------------------------------------"
418c2ecf20Sopenharmony_ci	echo "Running kernel configuration test 2 -- distro"
428c2ecf20Sopenharmony_ci	echo "Emulates:"
438c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER=y"
448c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER=y"
458c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n"
468c2ecf20Sopenharmony_ci	proc_set_ignore_sysfs_fallback 0
478c2ecf20Sopenharmony_ci	run_tests 0 0
488c2ecf20Sopenharmony_ci}
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_cirun_test_config_0003()
518c2ecf20Sopenharmony_ci{
528c2ecf20Sopenharmony_ci	echo "-----------------------------------------------------"
538c2ecf20Sopenharmony_ci	echo "Running kernel configuration test 3 -- android"
548c2ecf20Sopenharmony_ci	echo "Emulates:"
558c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER=y"
568c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER=y"
578c2ecf20Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y"
588c2ecf20Sopenharmony_ci	run_tests 1 0
598c2ecf20Sopenharmony_ci}
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_cicheck_mods
628c2ecf20Sopenharmony_cicheck_setup
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ciecho "Running namespace test: "
658c2ecf20Sopenharmony_ci$TEST_DIR/fw_namespace $DIR/trigger_request
668c2ecf20Sopenharmony_ciecho "OK"
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ciif [ -f $FW_FORCE_SYSFS_FALLBACK ]; then
698c2ecf20Sopenharmony_ci	run_test_config_0001
708c2ecf20Sopenharmony_ci	run_test_config_0002
718c2ecf20Sopenharmony_ci	run_test_config_0003
728c2ecf20Sopenharmony_cielse
738c2ecf20Sopenharmony_ci	echo "Running basic kernel configuration, working with your config"
748c2ecf20Sopenharmony_ci	run_tests
758c2ecf20Sopenharmony_cifi
76