github.com/whtcorpsinc/MilevaDB-Prod@v0.0.0-20211104133533-f57f4be3b597/causetstore/tools/check/check_testSuite.sh (about) 1 #!/usr/bin/env bash 2 # Copyright 2020 WHTCORPS INC, Inc. 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 set -euo pipefail 16 17 exitCode=0 18 19 list=$(find . -name "*_test.go" -not -path "./vendor/*" -print0 | xargs -0 grep -E "type test(.*)Suite" | awk -F ':| ' '{print $1" "$3}') 20 while read -r file testSuite; do 21 # TODO: ugly regex 22 # TODO: check code comment 23 dir=$(dirname "$file") 24 if ! find "$dir" -name "*_test.go" -print0 | xargs -0 grep -E "_ = (check\.)?(Suite|SerialSuites)\((&?${testSuite}{|new\(${testSuite}\))" > /dev/null 25 then 26 if find "$dir" -name "*_test.go" -print0 | xargs -0 grep -E "func \((.* )?\*?${testSuite}\) Test" > /dev/null 27 then 28 echo "${testSuite} in ${dir} is not enabled" && exitCode=1 29 fi 30 fi 31 done <<< "$list" 32 exit ${exitCode}