From 8f01cabad36698d14dfdf91fdf488e063abc7ea9 Mon Sep 17 00:00:00 2001 From: shahramn Date: Sat, 5 Oct 2024 20:18:01 +0100 Subject: [PATCH] Testing: Assertions in defintion files --- tests/CMakeLists.txt | 1 + tests/codes_assert.sh | 39 +++++++++++++++++++++++++++++++++++++++ tests/codes_ecc-1929.sh | 4 +--- 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100755 tests/codes_assert.sh diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 82a1ba4df..1bca272ab 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -282,6 +282,7 @@ if( HAVE_BUILD_TOOLS ) grib_set_bytes grib_set_force bufr_ecc-556 + codes_assert codes_ecc-1698 codes_ecc-1929 codes_get_string diff --git a/tests/codes_assert.sh b/tests/codes_assert.sh new file mode 100755 index 000000000..1bd5c878d --- /dev/null +++ b/tests/codes_assert.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# (C) Copyright 2005- ECMWF. +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. +# +# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by +# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. +# + +. ./include.ctest.sh + +label="codes_assert_test" + +tempOut=temp.$label.txt +sample_grib2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl + +tempDir=${label}.temp.dir +rm -rf $tempDir +mkdir -p $tempDir/definitions/grib2 +bootfile=$tempDir/definitions/grib2/boot.def +cat $def_dir/grib2/boot.def > $bootfile +echo 'assert( year == 1990 );' >> $bootfile +echo >> $bootfile + +export ECCODES_DEFINITION_PATH=$PWD/$tempDir/definitions +# This will activate the print statement above +${tools_dir}/grib_set -s year=1990 $sample_grib2 /dev/null + +set +e +${tools_dir}/grib_set -s year=1991 $sample_grib2 /dev/null > $tempOut 2>&1 +status=$? +set -e +[ $status -ne 0 ] +grep -q "year.*Assertion failure" $tempOut + +# Clean up +rm -rf $tempDir +rm -f $tempOut diff --git a/tests/codes_ecc-1929.sh b/tests/codes_ecc-1929.sh index 1d90059d0..c7ed04d3e 100755 --- a/tests/codes_ecc-1929.sh +++ b/tests/codes_ecc-1929.sh @@ -10,8 +10,6 @@ . ./include.ctest.sh -REDIRECT=/dev/null - label="codes_ecc-1929_test" tempOut=temp.$label.txt @@ -22,7 +20,7 @@ rm -rf $tempDir mkdir -p $tempDir/definitions/grib2 bootfile=$tempDir/definitions/grib2/boot.def cat $def_dir/grib2/boot.def > $bootfile -echo 'print "DEBUG: [gridType=] [typeOfLevel=]";' >> $bootfile +echo 'print "DEBUG: [gridType=] [typeOfLevel=]";' >> $bootfile echo >> $bootfile export ECCODES_DEFINITION_PATH=$PWD/$tempDir/definitions