162306a36Sopenharmony_ci#!/bin/bash
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci# This runs all known tests across all known possible configurations we could
562306a36Sopenharmony_ci# emulate in one run.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciset -e
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciTEST_DIR=$(dirname $0)
1062306a36Sopenharmony_cisource $TEST_DIR/fw_lib.sh
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ciexport HAS_FW_LOADER_USER_HELPER=""
1362306a36Sopenharmony_ciexport HAS_FW_LOADER_USER_HELPER_FALLBACK=""
1462306a36Sopenharmony_ciexport HAS_FW_LOADER_COMPRESS=""
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cirun_tests()
1762306a36Sopenharmony_ci{
1862306a36Sopenharmony_ci	proc_set_force_sysfs_fallback $1
1962306a36Sopenharmony_ci	proc_set_ignore_sysfs_fallback $2
2062306a36Sopenharmony_ci	$TEST_DIR/fw_filesystem.sh
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	proc_set_force_sysfs_fallback $1
2362306a36Sopenharmony_ci	proc_set_ignore_sysfs_fallback $2
2462306a36Sopenharmony_ci	$TEST_DIR/fw_fallback.sh
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ci	proc_set_force_sysfs_fallback $1
2762306a36Sopenharmony_ci	proc_set_ignore_sysfs_fallback $2
2862306a36Sopenharmony_ci	$TEST_DIR/fw_upload.sh
2962306a36Sopenharmony_ci}
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_cirun_test_config_0001()
3262306a36Sopenharmony_ci{
3362306a36Sopenharmony_ci	echo "-----------------------------------------------------"
3462306a36Sopenharmony_ci	echo "Running kernel configuration test 1 -- rare"
3562306a36Sopenharmony_ci	echo "Emulates:"
3662306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER=y"
3762306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER=n"
3862306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n"
3962306a36Sopenharmony_ci	run_tests 0 1
4062306a36Sopenharmony_ci}
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_cirun_test_config_0002()
4362306a36Sopenharmony_ci{
4462306a36Sopenharmony_ci	echo "-----------------------------------------------------"
4562306a36Sopenharmony_ci	echo "Running kernel configuration test 2 -- distro"
4662306a36Sopenharmony_ci	echo "Emulates:"
4762306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER=y"
4862306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER=y"
4962306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=n"
5062306a36Sopenharmony_ci	proc_set_ignore_sysfs_fallback 0
5162306a36Sopenharmony_ci	run_tests 0 0
5262306a36Sopenharmony_ci}
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_cirun_test_config_0003()
5562306a36Sopenharmony_ci{
5662306a36Sopenharmony_ci	echo "-----------------------------------------------------"
5762306a36Sopenharmony_ci	echo "Running kernel configuration test 3 -- android"
5862306a36Sopenharmony_ci	echo "Emulates:"
5962306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER=y"
6062306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER=y"
6162306a36Sopenharmony_ci	echo "CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y"
6262306a36Sopenharmony_ci	run_tests 1 0
6362306a36Sopenharmony_ci}
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_cicheck_mods
6662306a36Sopenharmony_cicheck_setup
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciecho "Running namespace test: "
6962306a36Sopenharmony_ci$TEST_DIR/fw_namespace $DIR/trigger_request
7062306a36Sopenharmony_ciecho "OK"
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciif [ -f $FW_FORCE_SYSFS_FALLBACK ]; then
7362306a36Sopenharmony_ci	run_test_config_0001
7462306a36Sopenharmony_ci	run_test_config_0002
7562306a36Sopenharmony_ci	run_test_config_0003
7662306a36Sopenharmony_cielse
7762306a36Sopenharmony_ci	echo "Running basic kernel configuration, working with your config"
7862306a36Sopenharmony_ci	run_tests
7962306a36Sopenharmony_cifi
80