Leonardo Sandoval | 9dfdd1b | 2020-08-06 17:08:11 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 2 | # |
Paul Sokolovsky | b187f67 | 2024-06-24 18:48:17 +0300 | [diff] [blame] | 3 | # Copyright (c) 2019-2024 Arm Limited. All rights reserved. |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 4 | # |
| 5 | # SPDX-License-Identifier: BSD-3-Clause |
| 6 | # |
| 7 | |
Paul Sokolovsky | e311dae | 2024-06-19 13:34:24 +0300 | [diff] [blame] | 8 | this_dir="$(readlink -f "$(dirname "$0")")" |
| 9 | . $this_dir/common.sh |
| 10 | |
| 11 | |
| 12 | TEST_CASE="Line endings are valid" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 13 | |
Leonardo Sandoval | 239e8ac | 2020-07-27 15:14:59 -0500 | [diff] [blame] | 14 | EXIT_VALUE=0 |
| 15 | |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 16 | echo "# Check Line Endings" |
| 17 | |
Leonardo Sandoval | 239e8ac | 2020-07-27 15:14:59 -0500 | [diff] [blame] | 18 | LOG_FILE=$(mktemp -t common.XXXX) |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 19 | |
Leonardo Sandoval | 239e8ac | 2020-07-27 15:14:59 -0500 | [diff] [blame] | 20 | if [[ "$2" == "patch" ]]; then |
| 21 | cd "$1" |
Wing Li | 7981fd7 | 2023-03-09 16:32:28 -0800 | [diff] [blame] | 22 | shopt -s globstar |
Paul Sokolovsky | e311dae | 2024-06-19 13:34:24 +0300 | [diff] [blame] | 23 | parent=$(get_merge_base) |
Wing Li | 7981fd7 | 2023-03-09 16:32:28 -0800 | [diff] [blame] | 24 | git diff $parent..HEAD --no-ext-diff --unified=0 --exit-code -a \ |
| 25 | --no-prefix **/*.{S,c,h,i,dts,dtsi,rst,mk} Makefile | \ |
| 26 | awk '/^\+/ && /\r$/' &> "$LOG_FILE" |
Leonardo Sandoval | 239e8ac | 2020-07-27 15:14:59 -0500 | [diff] [blame] | 27 | else |
| 28 | # For all the source and doc files |
| 29 | # We only return the files that contain CRLF |
| 30 | find "." -\( \ |
| 31 | -name '*.S' -or \ |
| 32 | -name '*.c' -or \ |
| 33 | -name '*.h' -or \ |
| 34 | -name '*.i' -or \ |
| 35 | -name '*.dts' -or \ |
| 36 | -name '*.dtsi' -or \ |
| 37 | -name '*.rst' -or \ |
| 38 | -name 'Makefile' -or \ |
| 39 | -name '*.mk' \ |
| 40 | -\) -exec grep --files-with-matches $'\r$' {} \; &> "$LOG_FILE" |
| 41 | fi |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 42 | |
| 43 | if [[ -s "$LOG_FILE" ]]; then |
Leonardo Sandoval | 239e8ac | 2020-07-27 15:14:59 -0500 | [diff] [blame] | 44 | EXIT_VALUE=1 |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 45 | fi |
| 46 | |
Leonardo Sandoval | 239e8ac | 2020-07-27 15:14:59 -0500 | [diff] [blame] | 47 | { echo; echo "****** $TEST_CASE ******"; echo; } >> "$LOG_TEST_FILENAME" |
| 48 | |
| 49 | { if [[ "$EXIT_VALUE" == 0 ]]; then \ |
| 50 | echo "Result : SUCCESS"; \ |
| 51 | else \ |
| 52 | echo "Result : FAILURE"; echo; cat "$LOG_FILE"; \ |
| 53 | fi \ |
| 54 | } | tee -a "$LOG_TEST_FILENAME" |
Fathi Boudra | 422bf77 | 2019-12-02 11:10:16 +0200 | [diff] [blame] | 55 | |
| 56 | rm "$LOG_FILE" |
| 57 | |
| 58 | exit "$EXIT_VALUE" |