1#!/usr/bin/env sh 2 3rootdir=${PWD} 4 5# test to make sure the lint tests fail 6SPACE=' ' 7UNDERSCORE='_' 8 9# lint-stable-000-license-headers 10TESTFILE000a="${rootdir}/src/arch/x86/thread.c" 11TESTFILE000b="${rootdir}/src/arch/riscv/misc.c" 12TESTFILE000c="${rootdir}/src/lib/hardwaremain.c" 13 14# lint-stable-003-whitespace 15TESTFILE003="${rootdir}/src/acpi/sata.c" 16# lint-stable-004-style-labels 17TESTFILE004="${rootdir}/src/soc/nvidia/tegra124/spi.c" 18# lint-stable-005-board-status 19TESTFILE005a="${rootdir}/src/mainboard/google/storm/board_info.txt" 20# lint-stable-006-board-name 21TESTFILE006="${rootdir}/src/mainboard/ibase/mb899/Kconfig.name" 22# lint-stable-008-kconfig 23TESTFILE008="${rootdir}/src/lib/Kconfig" 24# lint-stable-009-old-licenses 25TESTFILE009="${rootdir}/src/superio/common/conf_mode.c" 26# lint-stable-010-asm-syntax 27TESTFILE010="${rootdir}/src/arch/x86/assembly_entry.S" 28# lint-stable-012-executable-bit 29TESTFILE012="${rootdir}/src/lib/libgcc.c" 30# lint-stable-013-site-local 31TESTFILE013="$(mktemp --tmpdir=site-local)" 32# lint-stable-016-non-ascii 33TESTFILE016="${rootdir}/src/lib/halt.c" 34# lint-stable-017-configs 35TESTFILE017="${rootdir}/configs/testconfig" 36# lint-stable-018-symlinks 37TESTFILE018="${rootdir}/src/testKconfig" 38# lint-stable-019-header-files 39TESTFILE019=${rootdir}/test 40# lint-stable-021-coreboot-lowercase 41TESTFILE021=${rootdir}/test 42# lint-stable-022-clang-format 43TESTFILE022=${rootdir}/test 44# lint-stable-023-filenames 45TESTFILE023=${rootdir}/test 46# lint-stable-024-kconfig-no-subsystem 47TESTFILE024=${rootdir}/test 48# lint-stable-026-line-endings 49TESTFILE026=${rootdir}/test 50# lint-stable-027-maintainers-syntax 51TESTFILE027="${rootdir}/MAINTAINERS" 52 53if [ "$1" = "--reset" ]; then 54 echo "Resetting testfiles" 55 echo "lint-stable-000-license-headers" 56 git checkout "${TESTFILE000a}" "${TESTFILE000b}" "${TESTFILE000c}" 57 echo "lint-stable-003-whitespace" 58 git checkout "${TESTFILE003}" 59 echo "lint-stable-004-style-labels" 60 git checkout "${TESTFILE004}" 61 echo "lint-stable-005-board-status" 62 git checkout "${TESTFILE005a}" 63 echo "lint-stable-006-board-name" 64 git checkout "${TESTFILE006}" 65 echo "lint-stable-008-kconfig" 66 git checkout "${TESTFILE008}" 67 echo "lint-stable-009-old-licenses" 68 git checkout "${TESTFILE009}" 69 echo "lint-stable-010-asm-syntax" 70 git checkout "${TESTFILE010}" 71 echo "lint-stable-012-executable-bit" 72 git checkout "${TESTFILE012}" 73 echo "lint-stable-013-site-local" 74 git reset "${TESTFILE013}"; rm -vf "${TESTFILE013}" 75 echo "lint-stable-016-non-ascii" 76 git checkout "${TESTFILE016}" 77 echo "lint-stable-017-configs" 78 rm -vf "${TESTFILE017}" 79 echo "lint-stable-018-symlinks" 80 rm -vf "${TESTFILE018}" 81 echo "lint-stable-019-header-files" 82 git checkout "${TESTFILE019}" 83 echo "lint-stable-021-coreboot-lowercase" 84 git checkout "${TESTFILE021}" 85 echo "lint-stable-022-clang-format" 86 git checkout "${TESTFILE022}" 87 echo "lint-stable-023-filenames" 88 git checkout "${TESTFILE023}" 89 echo "lint-stable-024-kconfig-no-subsystem" 90 git checkout "${TESTFILE024}" 91 echo "lint-stable-026-line-endings" 92 git checkout "${TESTFILE026}" 93 94 echo "lint-stable-027-maintainers-syntax" 95 git checkout "${TESTFILE027}" 96 97 98else 99 echo "Modifying files for linter testing" 100 101 echo "lint-stable-000-license-headers" 102 sed -i.bak 's|^/\*.*||' "${TESTFILE000a}" 103 #sed -i.bak 's|^.*]SPDX-License-Identifier.*||' "${TESTFILE000b}" 104 #sed -i.bak 's|^.*]GPL-2.0-only|GPL-2.0|' "${TESTFILE000c}" 105 106 echo "lint-stable-003-whitespace" 107 sed -i.bak 's/^$/ /' "${TESTFILE003}" 108 109 echo "lint-stable-004-style-labels" 110 sed -i.bak 's/^done:/ done:/' "${TESTFILE004}" 111 112 echo "lint-stable-005-board-status" 113 sed -i.bak 's/^Category:.*/Category: lint/' "${TESTFILE005a}" 114 115 echo "lint-stable-006-board-name" 116 rm -f "${TESTFILE006}" 117 118 echo "lint-stable-008-kconfig" 119 sed -i.bak 's|config MISSING_BOARD_RESET|config MISSINGBOARDRESET|' "${TESTFILE008}" 120 121 echo "lint-stable-009-old-licenses" 122 sed -i "s|^.*]SPDX-License-Identifier.*|\* for more details.\n \* You${SPACE}should${SPACE}have received a copy of the GNU General Public License\n \* along with this program; if not, write to the Free Software\n \* Foundation, Inc.|" "${TESTFILE009}" 123 git add "${TESTFILE009}" 124 125 echo "lint-stable-010-asm-syntax" 126 sed -i "1s/^/.att${UNDERSCORE}syntax noprefix\n/" "${TESTFILE010}" 127 git add "${TESTFILE010}" 128 129 echo "lint-stable-012-executable-bit" 130 chmod +x "${TESTFILE012}" 131 132 echo "lint-stable-013-site-local" 133 mkdir -p site-local 134 git add -f "${TESTFILE013}" 135 136 echo "lint-stable-016-non-ascii" 137 sed -i.bak 's|halt(|halt'"$(echo "\007")"'(|' "${TESTFILE016}" 138 139 echo "lint-stable-017-configs" 140 make olddefconfig 141 cp .config "${TESTFILE017}" 142 143 echo "lint-stable-018-symlinks" 144 rm -f "${TESTFILE018}" 145 ln -s src/Kconfig "${TESTFILE018}" 146 git add -f "${TESTFILE018}" 147 148 # lint-stable-019-header-files 149 # lint-stable-021-coreboot-lowercase 150 # lint-stable-022-clang-format 151 # lint-stable-023-filenames 152 # lint-stable-024-kconfig-no-subsystem 153 # lint-stable-026-line-endings 154 echo "lint-stable-027-maintainers-syntax" 155 sed -i.bak 's|src/cpu/x86/$|src/cpu/x86|' "${TESTFILE027}" 156 157fi 158