mirror of https://github.com/ecmwf/eccodes.git
Testing: BUFR error conditions
This commit is contained in:
parent
cdf341eb95
commit
cb47e6953d
|
@ -55,6 +55,8 @@ export ECCODES_LOG_STREAM=stdout
|
||||||
${tools_dir}/bufr_dump -O ${data_dir}/bufr/$file > $fLog
|
${tools_dir}/bufr_dump -O ${data_dir}/bufr/$file > $fLog
|
||||||
grep -q "parsing include file" $fLog
|
grep -q "parsing include file" $fLog
|
||||||
|
|
||||||
|
${tools_dir}/bufr_dump -p ${data_dir}/bufr/$file > $fLog
|
||||||
|
|
||||||
unset ECCODES_DEBUG
|
unset ECCODES_DEBUG
|
||||||
unset ECCODES_LOG_STREAM
|
unset ECCODES_LOG_STREAM
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ tempText=temp.${label}.text
|
||||||
tempRef=temp.${label}.ref
|
tempRef=temp.${label}.ref
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
# Test 1
|
# Test: Maximum value exceeded
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
BufrFile=airs_57.bufr
|
BufrFile=airs_57.bufr
|
||||||
cat > $tempRules <<EOF
|
cat > $tempRules <<EOF
|
||||||
|
@ -42,6 +42,24 @@ set -e
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
grep -q 'longitude (006001). Maximum value (value\[0\]=500) out of range' $tempText
|
grep -q 'longitude (006001). Maximum value (value\[0\]=500) out of range' $tempText
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------------
|
||||||
|
# Test: Minimum value exceeded
|
||||||
|
# --------------------------------------------------------
|
||||||
|
cat > $tempRules <<EOF
|
||||||
|
set unpack=1;
|
||||||
|
set longitude={-5000, -172, -400, -170, -169, -168, -168, -167, -167, -166, -166, -165, -164, -164, -164};
|
||||||
|
set pack=1;
|
||||||
|
write;
|
||||||
|
EOF
|
||||||
|
set +e
|
||||||
|
${tools_dir}/codes_bufr_filter -o $tempOut $tempRules $BufrFile 2>$tempText
|
||||||
|
status=$?
|
||||||
|
set -e
|
||||||
|
[ $status -ne 0 ]
|
||||||
|
grep -q 'Minimum value .* out of range' $tempText
|
||||||
|
|
||||||
|
|
||||||
# Now set environment variable to turn out-of-range values into 'missing'
|
# Now set environment variable to turn out-of-range values into 'missing'
|
||||||
export ECCODES_BUFR_SET_TO_MISSING_IF_OUT_OF_RANGE=1
|
export ECCODES_BUFR_SET_TO_MISSING_IF_OUT_OF_RANGE=1
|
||||||
${tools_dir}/codes_bufr_filter -o $tempOut $tempRules $BufrFile 2>$tempText
|
${tools_dir}/codes_bufr_filter -o $tempOut $tempRules $BufrFile 2>$tempText
|
||||||
|
|
Loading…
Reference in New Issue