mirror of https://github.com/ecmwf/eccodes.git
ECC-401: More tests and fix output indentation
This commit is contained in:
parent
bd51d020da
commit
0c928512b1
|
@ -11,7 +11,16 @@
|
||||||
. ./include.sh
|
. ./include.sh
|
||||||
|
|
||||||
tempLog=temp.grib_ls_json.log
|
tempLog=temp.grib_ls_json.log
|
||||||
rm -f $tempLog
|
tempOut=temp.grib_ls_json.txt
|
||||||
|
tempRef=temp.grib_ls_json.ref
|
||||||
|
rm -f $tempLog $tempOut $tempRef
|
||||||
|
|
||||||
|
# Decide if we have the JSON verifier commandline utility
|
||||||
|
JSON_VERIF="json_xs"
|
||||||
|
JSON_CHECK=""
|
||||||
|
if command -v $JSON_VERIF >/dev/null 2>&1; then
|
||||||
|
JSON_CHECK=$JSON_VERIF
|
||||||
|
fi
|
||||||
|
|
||||||
cd ${data_dir}
|
cd ${data_dir}
|
||||||
|
|
||||||
|
@ -31,15 +40,35 @@ if grep -q 'not_found' $tempLog; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Test ordering
|
||||||
|
# ----------------------------------------------------
|
||||||
|
input=high_level_api.grib2
|
||||||
|
${tools_dir}/grib_ls -j -B'step:i desc' $input > $tempLog
|
||||||
|
|
||||||
|
if test "x$JSON_CHECK" != "x"; then
|
||||||
|
json_xs -t none < $tempLog
|
||||||
|
fi
|
||||||
|
|
||||||
|
grep stepRange $tempLog > $tempOut
|
||||||
|
cat > $tempRef <<EOF
|
||||||
|
"stepRange": 24,
|
||||||
|
"stepRange": 18,
|
||||||
|
"stepRange": 12,
|
||||||
|
"stepRange": 6,
|
||||||
|
"stepRange": 0,
|
||||||
|
EOF
|
||||||
|
diff $tempRef $tempOut
|
||||||
|
|
||||||
# Test a MISSING key
|
# Test a MISSING key
|
||||||
# --------------------
|
# ----------------------------------------------------
|
||||||
input=sample.grib2
|
input=sample.grib2
|
||||||
${tools_dir}/grib_ls -j -p scaledValueOfEarthMajorAxis $input > $tempLog
|
${tools_dir}/grib_ls -j -p scaledValueOfEarthMajorAxis $input > $tempLog
|
||||||
grep -q '"scaledValueOfEarthMajorAxis": "MISSING"' $tempLog
|
grep -q '"scaledValueOfEarthMajorAxis": "MISSING"' $tempLog
|
||||||
|
|
||||||
|
|
||||||
# Test decoding a given key as string and integer
|
# Test decoding a given key as string and integer
|
||||||
# ---------------------------------------------
|
# ----------------------------------------------------
|
||||||
input=$ECCODES_SAMPLES_PATH/GRIB1.tmpl
|
input=$ECCODES_SAMPLES_PATH/GRIB1.tmpl
|
||||||
${tools_dir}/grib_ls -j -p levelType,levelType:i $input > $tempLog
|
${tools_dir}/grib_ls -j -p levelType,levelType:i $input > $tempLog
|
||||||
grep -q '"levelType": "pl"' $tempLog
|
grep -q '"levelType": "pl"' $tempLog
|
||||||
|
@ -47,7 +76,7 @@ grep -q '"levelType": 100' $tempLog
|
||||||
|
|
||||||
|
|
||||||
# Test decoding floating point key with format
|
# Test decoding floating point key with format
|
||||||
# ---------------------------------------------
|
# ----------------------------------------------------
|
||||||
input=$ECCODES_SAMPLES_PATH/reduced_gg_pl_128_grib2.tmpl
|
input=$ECCODES_SAMPLES_PATH/reduced_gg_pl_128_grib2.tmpl
|
||||||
${tools_dir}/grib_ls -j -p latitudeOfLastGridPointInDegrees $input > $tempLog
|
${tools_dir}/grib_ls -j -p latitudeOfLastGridPointInDegrees $input > $tempLog
|
||||||
grep -q '"latitudeOfLastGridPointInDegrees": -89.4628' $tempLog
|
grep -q '"latitudeOfLastGridPointInDegrees": -89.4628' $tempLog
|
||||||
|
@ -56,15 +85,8 @@ ${tools_dir}/grib_ls -F%.3f -j -p latitudeOfLastGridPointInDegrees $input > $tem
|
||||||
grep -q '"latitudeOfLastGridPointInDegrees": -89.463' $tempLog
|
grep -q '"latitudeOfLastGridPointInDegrees": -89.463' $tempLog
|
||||||
|
|
||||||
|
|
||||||
# Check JSON validity
|
# Check output from all our downloaded GRIBs
|
||||||
# --------------------
|
# ----------------------------------------------------
|
||||||
# Decide if we have the JSON verifier commandline utility
|
|
||||||
JSON_VERIF="json_xs"
|
|
||||||
JSON_CHECK=""
|
|
||||||
if command -v $JSON_VERIF >/dev/null 2>&1; then
|
|
||||||
JSON_CHECK=$JSON_VERIF
|
|
||||||
fi
|
|
||||||
|
|
||||||
grib_files=`cat ${data_dir}/grib_data_files.txt`
|
grib_files=`cat ${data_dir}/grib_data_files.txt`
|
||||||
for file in ${grib_files}
|
for file in ${grib_files}
|
||||||
do
|
do
|
||||||
|
@ -77,4 +99,4 @@ done
|
||||||
|
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
rm -f $tempLog
|
rm -f $tempLog $tempOut $tempRef
|
||||||
|
|
|
@ -973,7 +973,7 @@ void grib_print_key_values(grib_runtime_options* options, grib_handle* h)
|
||||||
/* fprintf(dump_file, "\"message %d\" : {\n", options->handle_count); */
|
/* fprintf(dump_file, "\"message %d\" : {\n", options->handle_count); */
|
||||||
fprintf(dump_file, " {\n");
|
fprintf(dump_file, " {\n");
|
||||||
for (i=0;i<options->print_keys_count;i++) {
|
for (i=0;i<options->print_keys_count;i++) {
|
||||||
fprintf(dump_file,"\t\"%s\": ", options->print_keys[i].name);
|
fprintf(dump_file," \"%s\": ", options->print_keys[i].name);
|
||||||
get_value_for_key(h, options->print_keys[i].name, options->print_keys[i].type, value, options->format);
|
get_value_for_key(h, options->print_keys[i].name, options->print_keys[i].type, value, options->format);
|
||||||
if (is_valid_JSON_number(value))
|
if (is_valid_JSON_number(value))
|
||||||
fprintf(dump_file,"%s", value);
|
fprintf(dump_file,"%s", value);
|
||||||
|
|
Loading…
Reference in New Issue