#!/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 < $tempFilt <$tempText status=$? set -e [ $status -ne 0 ] fgrep -q "Value (-416) out of range" $tempText # Error conditions # ------------------ cat > $tempFilt < $tempText 2>&1 status=$? set -e [ $status -ne 0 ] fgrep -q "number of overridden reference values (2) different from number of descriptors between operator 203YYY and 203255" $tempText # No overridden ref vals provided cat > $tempFilt < $tempText 2>&1 status=$? set -e [ $status -ne 0 ] fgrep -q "Overridden Reference Values array is empty" $tempText # Ref val too large cat > $tempFilt < $tempText 2>&1 status=$? set -e [ $status -ne 0 ] fgrep -q "does not fit in 14 bits" $tempText # Clean up rm -f $tempBufr $tempFilt $tempText