From f9c0cd6946b545524891cbe6eaafb3bd773b9b0a Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 7 Nov 2024 15:39:47 +0100 Subject: tools: add HTML checking script Check that HTML files are not inconsistently formatted with both tabs and spaces. --- Makefile | 7 +++++-- tools/check-html.sh | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) create mode 100755 tools/check-html.sh diff --git a/Makefile b/Makefile index 6b770e7b5..becb95317 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,7 @@ endif extract generate generate_go generate_rpc generate_sys \ format format_go format_cpp format_sys \ tidy test test_race \ - check_copyright check_language check_whitespace check_links check_diff check_commits check_shebang \ + check_copyright check_language check_whitespace check_links check_diff check_commits check_shebang check_html \ presubmit presubmit_aux presubmit_build presubmit_arch_linux presubmit_arch_freebsd \ presubmit_arch_netbsd presubmit_arch_openbsd presubmit_arch_darwin presubmit_arch_windows \ presubmit_arch_executor presubmit_dashboard presubmit_race presubmit_race_dashboard presubmit_old @@ -307,7 +307,7 @@ presubmit: presubmit_aux: $(MAKE) generate - $(MAKE) -j100 check_commits check_diff check_copyright check_language check_whitespace check_links check_shebang tidy + $(MAKE) -j100 check_commits check_diff check_copyright check_language check_whitespace check_links check_html check_shebang tidy $(GO) mod tidy presubmit_build: descriptions @@ -428,6 +428,9 @@ check_commits: check_links: python ./tools/check_links.py $$(pwd) $$(find . -name '*.md' | grep -v "./vendor/") +check_html: + ./tools/check-html.sh + # Check that the diff is empty. This is meant to be executed after generating # and formatting the code to make sure that everything is committed. check_diff: diff --git a/tools/check-html.sh b/tools/check-html.sh new file mode 100755 index 000000000..1b122329e --- /dev/null +++ b/tools/check-html.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Copyright 2024 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +FILES=0 +FAILED="" +for F in $(find . -name "*.html"); do + ((FILES+=1)) + TABS=`cat $F | grep " " | wc -l` + # templates.html uses several spaces to format commit info using fixed-width font. + SPACES=`cat $F | grep -v "Commit.Date" | grep " " | wc -l` + if [ "$TABS" = "0" ] || [ "$SPACES" = "0" ]; then continue; fi + # Ignore untracked files. + git ls-files --error-unmatch $F >/dev/null 2>&1 + if [ $? -ne 0 ]; then continue; fi + echo "$F:1:1: Uses both spaces ($SPACES) and tabs ($TABS) for formatting. Use either one of these." + FAILED="1" +done +if [ "$FAILED" != "" ]; then exit 1; fi +echo "$FILES HTML files checked for formatting" -- cgit mrf-deployment