From 54a10f265d49d039e5c53e11bc8eda131a047d74 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Wed, 22 Jul 2020 07:40:43 -0700 Subject: [PATCH 1/2] Consistency check core_version and version --- tools/run_tests/sanity/check_version.sh | 48 ++++++++++++++++++++++++ tools/run_tests/sanity/sanity_tests.yaml | 1 + 2 files changed, 49 insertions(+) create mode 100755 tools/run_tests/sanity/check_version.sh diff --git a/tools/run_tests/sanity/check_version.sh b/tools/run_tests/sanity/check_version.sh new file mode 100755 index 00000000000..fe504e3de7e --- /dev/null +++ b/tools/run_tests/sanity/check_version.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +# Copyright 2020 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +set -e + +buildfile=BUILD +yamlfile=build_handwritten.yaml +status=0 + +function check_key() { + key=$1 + build=$(grep "^$key =" < $buildfile | awk -F\" '{print $2}') + yaml=$(grep "^ *${key}:" < $yamlfile | head -1 | awk '{print $2}') + + if [ x"$build" = x ] ; then + echo $key not defined in $buildfile + status=1 + fi + + if [ x"$yaml" = x ] ; then + echo $key not defined in $yamlfile + status=1 + fi + + if [ x"$build" != x -a x"$yaml" != x -a "$build" != "$yaml" ] ; then + echo $key mismatch between $buildfile "($build)" and $yamlfile "($yaml)" + status=1 + fi +} + +check_key core_version +check_key version + +exit $status diff --git a/tools/run_tests/sanity/sanity_tests.yaml b/tools/run_tests/sanity/sanity_tests.yaml index e85654394c3..b94e7b3a739 100644 --- a/tools/run_tests/sanity/sanity_tests.yaml +++ b/tools/run_tests/sanity/sanity_tests.yaml @@ -11,6 +11,7 @@ - script: tools/run_tests/sanity/check_submodules.sh - script: tools/run_tests/sanity/check_test_filtering.py - script: tools/run_tests/sanity/check_tracer_sanity.py +- script: tools/run_tests/sanity/check_version.sh - script: tools/run_tests/sanity/core_banned_functions.py - script: tools/run_tests/sanity/core_untyped_structs.sh - script: tools/run_tests/sanity/cpp_banned_constructs.sh From 1013ad87f79f3ebdcced6f2b656bb6c848622c86 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Thu, 23 Jul 2020 01:58:35 -0700 Subject: [PATCH 2/2] Fixes to match shellcheck --- tools/run_tests/sanity/check_version.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/run_tests/sanity/check_version.sh b/tools/run_tests/sanity/check_version.sh index fe504e3de7e..9ad9ef32faf 100755 --- a/tools/run_tests/sanity/check_version.sh +++ b/tools/run_tests/sanity/check_version.sh @@ -21,23 +21,23 @@ buildfile=BUILD yamlfile=build_handwritten.yaml status=0 -function check_key() { +check_key () { key=$1 build=$(grep "^$key =" < $buildfile | awk -F\" '{print $2}') yaml=$(grep "^ *${key}:" < $yamlfile | head -1 | awk '{print $2}') if [ x"$build" = x ] ; then - echo $key not defined in $buildfile + echo "$key not defined in $buildfile" status=1 fi if [ x"$yaml" = x ] ; then - echo $key not defined in $yamlfile + echo "$key not defined in $yamlfile" status=1 fi - if [ x"$build" != x -a x"$yaml" != x -a "$build" != "$yaml" ] ; then - echo $key mismatch between $buildfile "($build)" and $yamlfile "($yaml)" + if [ x"$build" != x"$yaml" ] ; then + echo "$key mismatch between $buildfile ($build) and $yamlfile ($yaml)" status=1 fi }