Testing: Assertions in defintion files

This commit is contained in:
shahramn 2024-10-05 20:18:01 +01:00
parent e6cc18d3f9
commit 8f01cabad3
3 changed files with 41 additions and 3 deletions

View File

@ -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

39
tests/codes_assert.sh Executable file
View File

@ -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

View File

@ -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