all.sh: first define functions, then call them.

Don't interleave defining functions with running some code.

The only exception is calling shopt, which needs to come first as it
affects how the following function definitions are parsed.

Signed-off-by: Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com>
This commit is contained in:
Manuel Pégourié-Gonnard 2024-10-01 11:54:34 +02:00
parent e21e9c33c5
commit f7325865bb

View File

@ -108,13 +108,16 @@
#### Initialization and command line parsing #### Initialization and command line parsing
################################################################ ################################################################
# Abort on errors (even on the left-hand side of a pipe). # Enable ksh/bash extended file matching patterns.
# Treat uninitialised variables as errors. # Must come before function definitions or some of them wouldn't parse.
set -e -o pipefail -u
# Enable ksh/bash extended file matching patterns
shopt -s extglob shopt -s extglob
pre_set_shell_options () {
# Abort on errors (even on the left-hand side of a pipe).
# Treat uninitialised variables as errors.
set -e -o pipefail -u
}
# For project detection # For project detection
in_mbedtls_repo () { in_mbedtls_repo () {
test "$PROJECT_NAME" = "Mbed TLS" test "$PROJECT_NAME" = "Mbed TLS"
@ -1099,11 +1102,14 @@ helper_get_psa_key_type_list() {
echo "$loc_list" echo "$loc_list"
} }
# Include the components from components.sh # Must be called before pre_initialize_variables which sets ALL_COMPONENTS.
test_script_dir="${0%/*}" pre_load_components () {
for file in "$test_script_dir"/components*.sh; do # Include the components from components.sh
source $file test_script_dir="${0%/*}"
done for file in "$test_script_dir"/components*.sh; do
source $file
done
}
################################################################ ################################################################
@ -1200,8 +1206,15 @@ run_component () {
unset current_component unset current_component
} }
################################################################
#### Main (only function definitions above)
################################################################
# Preliminary setup # Preliminary setup
pre_set_shell_options
pre_check_environment pre_check_environment
pre_load_components
pre_initialize_variables pre_initialize_variables
pre_parse_command_line "$@" pre_parse_command_line "$@"