2013-03-25 12:04:10 +00:00
|
|
|
#!/bin/sh
|
2020-01-28 14:32:34 +00:00
|
|
|
# (C) Copyright 2005- ECMWF.
|
2013-03-25 12:04:10 +00:00
|
|
|
#
|
|
|
|
# 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.
|
2013-03-25 14:23:07 +00:00
|
|
|
#
|
2013-03-25 12:04:10 +00:00
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
|
2022-04-03 22:02:48 +00:00
|
|
|
. ./include.ctest.sh
|
2013-03-25 12:04:10 +00:00
|
|
|
|
2023-03-14 21:09:57 +00:00
|
|
|
label="grib_get_fail_test"
|
|
|
|
tempText=temp.$label.txt
|
2013-03-25 12:04:10 +00:00
|
|
|
REDIRECT=/dev/null
|
|
|
|
|
2017-12-18 17:11:42 +00:00
|
|
|
# Check input file has been downloaded
|
|
|
|
[ -f ${data_dir}/regular_latlon_surface.grib1 ]
|
2013-03-25 12:04:10 +00:00
|
|
|
|
2017-12-18 17:11:42 +00:00
|
|
|
# Expect failure as the key does not exist
|
|
|
|
set +e
|
2023-03-14 21:09:57 +00:00
|
|
|
${tools_dir}/grib_get -p boomerang ${data_dir}/regular_latlon_surface.grib1 2> $REDIRECT > $REDIRECT
|
2017-12-18 17:11:42 +00:00
|
|
|
if [ $? -eq 0 ] ; then
|
2023-03-14 21:09:57 +00:00
|
|
|
exit 1; # Should not have succeeded
|
2013-03-25 12:04:10 +00:00
|
|
|
fi
|
2023-03-14 21:09:57 +00:00
|
|
|
set -e
|
|
|
|
|
|
|
|
# ECC-1551: Print which key does not exist
|
|
|
|
set +e
|
|
|
|
${tools_dir}/grib_get -p Ni,Nh,Nj $ECCODES_SAMPLES_PATH/GRIB2.tmpl > $tempText 2>&1
|
|
|
|
status=$?
|
|
|
|
set -e
|
|
|
|
[ $status -ne 0 ]
|
|
|
|
grep -q "Nh (Key/value not found)" $tempText
|
|
|
|
|
2023-09-02 16:28:45 +00:00
|
|
|
# Types like uint16 etc
|
|
|
|
# Create a temporary directory which holds the tables etc
|
|
|
|
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 "uint16 key_uint16: transient;" >> $bootfile
|
|
|
|
echo "uint32 key_uint32: transient;" >> $bootfile
|
|
|
|
echo "uint64 key_uint64: transient;" >> $bootfile
|
|
|
|
echo "uint32_little_endian key_uint32_le: transient;" >> $bootfile
|
|
|
|
echo "uint64_little_endian key_uint64_le: transient;" >> $bootfile
|
|
|
|
export ECCODES_DEFINITION_PATH=$tempDir/definitions
|
|
|
|
input=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
|
|
|
set +e
|
|
|
|
${tools_dir}/grib_get -p key_uint16 $input > $tempText 2>&1
|
|
|
|
${tools_dir}/grib_get -p key_uint32 $input >> $tempText 2>&1
|
|
|
|
${tools_dir}/grib_get -p key_uint64 $input >> $tempText 2>&1
|
|
|
|
${tools_dir}/grib_get -p key_uint32_le $input >> $tempText 2>&1
|
|
|
|
${tools_dir}/grib_get -p key_uint64_le $input >> $tempText 2>&1
|
|
|
|
set -e
|
|
|
|
# cat $tempText
|
|
|
|
|
|
|
|
# Clean up
|
|
|
|
cd $test_dir
|
|
|
|
rm -rf $tempDir
|
2023-03-14 21:09:57 +00:00
|
|
|
rm -f $tempText
|