| #!/usr/bin/env bash |
| # |
| # Copyright (c) 2019-2022 Arm Limited. All rights reserved. |
| # |
| # SPDX-License-Identifier: BSD-3-Clause |
| # |
| |
| # unittest-include-order.sh <path-to-root-folder> [patch] |
| |
| this_dir="$(readlink -f "$(dirname "$0")")" |
| . $this_dir/common.sh |
| |
| |
| LOG_FILE=$(mktemp -t include-order-check.XXXX) |
| |
| if [[ "$2" == "patch" ]]; then |
| TEST_CASE="Order of includes on the patch series" |
| echo "# $TEST_CASE" |
| "$CI_ROOT/script/static-checks/check-include-order.py" --tree "$1" \ |
| --patch --from-ref $(get_merge_base) \ |
| &> "$LOG_FILE" |
| else |
| echo "# Check order of includes of the entire source tree" |
| TEST_CASE="Order of includes of the entire source tree" |
| "$CI_ROOT/script/static-checks/check-include-order.py" --tree "$1" \ |
| &> "$LOG_FILE" |
| fi |
| |
| EXIT_VALUE=$? |
| |
| echo >> "$LOG_TEST_FILENAME" |
| echo "****** $TEST_CASE ******" >> "$LOG_TEST_FILENAME" |
| echo >> "$LOG_TEST_FILENAME" |
| if [[ "$EXIT_VALUE" == 0 ]]; then |
| echo "Result : SUCCESS" >> "$LOG_TEST_FILENAME" |
| else |
| echo "Result : FAILURE" >> "$LOG_TEST_FILENAME" |
| echo >> "$LOG_TEST_FILENAME" |
| cat "$LOG_FILE" >> "$LOG_TEST_FILENAME" |
| echo >> "$LOG_TEST_FILENAME" |
| echo -e "Please refer to the docs for further information on include statement ordering: https://trustedfirmware-a.readthedocs.io/en/latest/process/coding-style.html#include-statement-ordering." >> "$LOG_TEST_FILENAME" |
| fi |
| echo >> "$LOG_TEST_FILENAME" |
| |
| rm -f "$LOG_FILE" |
| |
| exit "$EXIT_VALUE" |