Add bufr_compare test ECC-24

This commit is contained in:
Sandor Kertesz 2015-02-04 13:52:37 +00:00
parent 9ed0dccd97
commit 92df819d3e
3 changed files with 63 additions and 25 deletions

View File

@ -41,20 +41,18 @@ ${tools_dir}/bufr_compare $f $f >> $fLog
# Test: comparing two completely different files
#----------------------------------------------------
#TODO: enable this test when ECC-42 is fixed
set +e
f1="syno_1.bufr"
f2="aaen_55.bufr"
echo "Test: comparing two completely different files" >> $fLog
echo "file: $f" >> $fLog
#${tools_dir}/bufr_compare $f1 $f2 >> $fLog
${tools_dir}/bufr_compare $f1 $f2 >> $fLog
#if [ $? -eq 0 ]; then
# echo "bufr_compare should have failed if files are completely different" >&2
# exit 1
#fi
if [ $? -eq 0 ]; then
echo "bufr_compare should have failed if files are completely different" >&2
exit 1
fi
set -e
@ -62,47 +60,41 @@ set -e
# Test: comparing with and witout the -b switch
#----------------------------------------------------
#TODO: enable this test when ECC-42 is fixed
f="syno_1.bufr"
echo "Test: comparing with and witout the -b switch" >> $fLog
echo "file: $f" >> $fLog
#Alter a key in the file
${tools_dir}/bufr_set -s centre=222 $f ${fBufrTmp} >> $fLog
#TODO: enable this test when ECC-42 is fixed
${tools_dir}/bufr_set -s dataCategory=2 $f ${fBufrTmp} >> $fLog
set +e
#${tools_dir}/bufr_compare $f ${fBufrTmp}>> $fLog
${tools_dir}/bufr_compare $f ${fBufrTmp}>> $fLog
#if [ $? -eq 0 ]; then
# echo "bufr_compare should have failed if files are different" >&2
# exit 1
#fi
if [ $? -eq 0 ]; then
echo "bufr_compare should have failed if files are different" >&2
exit 1
fi
set -e
#Now compare with -b switch. No difference should be found.
${tools_dir}/bufr_compare -b centre $f ${fBufrTmp}>> $fLog
${tools_dir}/bufr_compare -b dataCategory $f ${fBufrTmp}>> $fLog
#----------------------------------------------------
# Test: comparing with the -r switch
#----------------------------------------------------
#TODO: enable this test when ECC-42 is fixed
#Create a bufr file with various message types
cat syno_multi.bufr temp_101.bufr > $fBufrInput1
cat temp_101.bufr syno_multi.bufr > $fBufrInput2
set +e
#${tools_dir}/bufr_compare {fBufrInput1} ${fBufrInput2} >> $fLog
${tools_dir}/bufr_compare ${fBufrInput1} ${fBufrInput2} >> $fLog
#if [ $? -eq 0 ]; then
# echo "bufr_compare should have failed if the message order in the files is different" >&2
# exit 1
#fi
if [ $? -eq 0 ]; then
echo "bufr_compare should have failed if the message order in the files is different" >&2
exit 1
fi
${tools_dir}/bufr_compare -r ${fBufrInput1} ${fBufrInput2}>> $fLog

View File

@ -48,6 +48,7 @@ ${tools_dir}/bufr_get -p totalLength,centre,subCentre,masterTableNumber,masterTa
cat $fTmp | awk '{split($0,a," "); for (i=1; i<=8; i++) print a[i]}' > $res_get
diff $ref_get $res_get >$REDIRECT 2> $REDIRECT
#Clean up
rm -f $fLog
rm -f $fTmp | true
rm -f $res_get | true

View File

@ -92,6 +92,51 @@ echo "file: $f" >> $fLog
# [ $centre = "234.5" ]
#done
#-----------------------------------------------------------
# Test: with nonexistent keys.
#-----------------------------------------------------------
#Key "center" does not exist!!
# Invoke without -f i.e. should fail if error encountered
set +e
f="syno_1.bufr"
echo "Test: nonexistent keys" >> $fLog
echo "file: $f" >> $fLog
${tools_dir}/bufr_set -s center=98 $f $fBufrTmp 2>> $fLog 1>> $fLog
if [ $? -eq 0 ]; then
echo "bufr_set should have failed if key not found" >&2
exit 1
fi
set -e
# Now repeat with -f option (do not exit on error)
${tools_dir}/bufr_set -f -s center=98 $f $fBufrTmp 2>>$fLog 1>>$fLog
#-----------------------------------------------------------
# Test: with not allowed key values
#-----------------------------------------------------------
#Here 1024 is out of range for centre (it is 8-bit only for edition=4 files)
# Invoke without -f i.e. should fail if error encountered
set +e
f="syno_1.bufr"
echo "Test: nonexistent keys" >> $fLog
echo "file: $f" >> $fLog
${tools_dir}/bufr_set -s centre=1024 $f $fBufrTmp 2>> $fLog 1>> $fLog
if [ $? -eq 0 ]; then
echo "bufr_set should have failed if key not found" >&2
exit 1
fi
set -e
# Now repeat with -f option (do not exit on error)
${tools_dir}/bufr_set -f -s centre=1024 -f $f $fBufrTmp 2>>$fLog 1>>$fLog
#Clean up
rm -f $fLog