From 0a54b2a763c4396a84ee00904f01f1ccf2f7383d Mon Sep 17 00:00:00 2001 From: Shahram Najm Date: Mon, 25 Apr 2022 16:45:17 +0100 Subject: [PATCH] BUFR operator 203YYY: encoding test --- tests/CMakeLists.txt | 1 + tests/bufr_ecc-616.sh | 4 +-- tests/bufr_ecc-680.sh | 63 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100755 tests/bufr_ecc-680.sh diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9dcfd1989..e8b739bc9 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -161,6 +161,7 @@ if( HAVE_BUILD_TOOLS ) bufr_ecc-288 bufr_ecc-313 bufr_ecc-616 + bufr_ecc-680 bufr_ecc-686 bufr_ecc-690 bufr_ecc-379 diff --git a/tests/bufr_ecc-616.sh b/tests/bufr_ecc-616.sh index 8e4b746fd..88a8bbe21 100755 --- a/tests/bufr_ecc-616.sh +++ b/tests/bufr_ecc-616.sh @@ -11,8 +11,8 @@ . ./include.ctest.sh # --------------------------------------------------------- -# This is the test for the JIRA issue ECC-616. -# It tests encoding a BUFR file which uses the operator 203YYY. +# This is the test for the JIRA issue ECC-616: +# Cannot extract subsets when operator 203YYY is present # --------------------------------------------------------- label="bufr_ecc-616-test" tempRules=temp.${label}.filter diff --git a/tests/bufr_ecc-680.sh b/tests/bufr_ecc-680.sh new file mode 100755 index 000000000..cf929e0de --- /dev/null +++ b/tests/bufr_ecc-680.sh @@ -0,0 +1,63 @@ +#!/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 + +# --------------------------------------------------------- +# This is the test for the JIRA issue ECC-680: +# BUFR operator 203YYY: implement encoding +# --------------------------------------------------------- +label="bufr_ecc-680-test" + +tempBufr=temp.$label.bufr +tempFilt=temp.${label}.filter +tempText=temp.${label}.txt + +sample_bufr4=$ECCODES_SAMPLES_PATH/BUFR4.tmpl + +# Try it without overriding the reference values +# --------------------------------------------- +cat > $tempFilt <$tempText +status=$? +set -e +[ $status -ne 0 ] +grep -q "Value .* out of range" $tempText + + +# Now provide the 203YYY operator +# --------------------------------- +cat > $tempFilt <