diff --git a/data/bufr/bufr_data_files.txt b/data/bufr/bufr_data_files.txt index 6f797290b..b8741564a 100644 --- a/data/bufr/bufr_data_files.txt +++ b/data/bufr/bufr_data_files.txt @@ -35,6 +35,7 @@ b005_87.bufr b005_89.bufr b006_96.bufr b007_31.bufr +bad.bufr bssh_170.bufr bssh_176.bufr bssh_178.bufr diff --git a/data/bufr/bufr_ref_files.txt b/data/bufr/bufr_ref_files.txt index a2bdb1724..8416b24a3 100644 --- a/data/bufr/bufr_ref_files.txt +++ b/data/bufr/bufr_ref_files.txt @@ -269,3 +269,4 @@ synop_multi_subset.bufr.desc.ref aaen_55.bufr.ls.ref syno_multi.bufr.header.ref syno_multi.bufr +bad.bufr.json.ref diff --git a/tests/bufr_dump.sh b/tests/bufr_dump.sh index fbe6a3a25..467640745 100755 --- a/tests/bufr_dump.sh +++ b/tests/bufr_dump.sh @@ -10,6 +10,21 @@ . ./include.sh +#Define a common label for all the tmp files +label="bufr_dump_test" + +#Create log file +fLog=${label}".log" +rm -f $fLog | true +touch $fLog + +#Define tmp bufr files +fJsonTmp=${label}".json.tmp" + +#============================================== +# Testing bufr_dump -O +#============================================== + bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` REDIRECT=/dev/null @@ -17,3 +32,23 @@ for file in ${bufr_files} do ${tools_dir}bufr_dump -O ${data_dir}/bufr/$file 2> $REDIRECT > $REDIRECT done + +#============================================== +# Testing a malformed bufr file (see ECC-110) +#============================================== + +echo "Test: malformed bufr file " >> $fLog + +rm -f $fJsonTmp | true + +fBufr=${data_dir}/bufr/"bad.bufr" +fJsonRef=${data_dir}/bufr/"bad.bufr.json.ref" + +${tools_dir}bufr_dump -js $fBufr > $fJsonTmp + +diff $fJsonTmp $fJsonRef >$REDIRECT 2> $REDIRECT + +#Clean up +rm -f $fLog +rm -f $fJsonTmp | true +