ECC-763: Add basic test for BUFR headers

This commit is contained in:
Shahram Najm 2018-10-24 13:33:22 +01:00
parent 4481970e7a
commit 8ab46146d5
3 changed files with 16 additions and 12 deletions

View File

@ -29,6 +29,7 @@ endforeach()
################################################# #################################################
list( APPEND tests_basic list( APPEND tests_basic
grib_set_pv grib_set_pv
bufr_read_header
) )
list( APPEND tests_extra list( APPEND tests_extra
grib_clone grib_clone
@ -51,7 +52,6 @@ list( APPEND tests_extra
bufr_expanded bufr_expanded
bufr_get_keys bufr_get_keys
bufr_keys_iterator bufr_keys_iterator
bufr_read_header
bufr_read_scatterometer bufr_read_scatterometer
bufr_read_tropical_cyclone bufr_read_tropical_cyclone
bufr_read_synop bufr_read_synop

View File

@ -21,11 +21,10 @@ import sys
from eccodes import * from eccodes import *
INPUT = '../../data/bufr/syno_multi.bufr'
VERBOSE = 1 # verbose error reporting VERBOSE = 1 # verbose error reporting
def example(): def example(INPUT):
# open bufr file # open bufr file
f = open(INPUT) f = open(INPUT)
@ -70,7 +69,7 @@ def example():
def main(): def main():
try: try:
example() example(sys.argv[1])
except CodesInternalError as err: except CodesInternalError as err:
if VERBOSE: if VERBOSE:
traceback.print_exc(file=sys.stderr) traceback.print_exc(file=sys.stderr)

View File

@ -3,23 +3,28 @@
. ./include.sh . ./include.sh
#----------------------------------------------------- #-----------------------------------------------------
# Test reading the header only from a BUFR # Test reading the header from a BUFR
# file with multiple messages # file with multiple messages
#---------------------------------------------------- #----------------------------------------------------
#The bufr filename is hardcoded in the python example f=${data_dir}/bufr/syno_multi.bufr
f=${data_dir}"/bufr/syno_multi.bufr"
fRef=$f".header.ref" fRef=$f".header.ref"
fRes=$f".header.test.p" fRes=$f".header.test.p"
REDIRECT=/dev/null REDIRECT=/dev/null
#Write the values into a file and compare with reference if [ -f "$f" ]; then
$PYTHON $examples_src/bufr_read_header.py 2> $REDIRECT > $fRes # Write the values into a file and compare with reference
$PYTHON $examples_src/bufr_read_header.py $f 2> $REDIRECT > $fRes
#We compare output to the reference by ignoring the whitespaces #We compare output to the reference by ignoring the whitespaces
diff -w $fRef $fRes diff -w $fRef $fRes
fi
# Now test reading the header of sample files
$PYTHON $examples_src/bufr_read_header.py ${ECCODES_SAMPLES_PATH}/BUFR3_local.tmpl
$PYTHON $examples_src/bufr_read_header.py ${ECCODES_SAMPLES_PATH}/BUFR4.tmpl
$PYTHON $examples_src/bufr_read_header.py ${ECCODES_SAMPLES_PATH}/BUFR4_local_satellite.tmpl
#cat $fRes
#Clean up #Clean up
rm -f $fRes rm -f $fRes