mirror of https://github.com/ecmwf/eccodes.git
68 lines
1.7 KiB
Bash
Executable File
68 lines
1.7 KiB
Bash
Executable File
#!/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
|
|
|
|
if [ $HAVE_GEOGRAPHY -eq 0 ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# ---------------------------------------------------------
|
|
# This is the test for the JIRA issue ECC-1397
|
|
# grib_ls -j -l command (JSON for nearest)
|
|
# ---------------------------------------------------------
|
|
label="grib_ecc-1397_test"
|
|
tempOut1=temp.${label}.1.out
|
|
tempOut2=temp.${label}.2.out
|
|
|
|
# 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
|
|
# Check the json_xs command actually works!
|
|
set +e
|
|
echo '[]' | json_xs > /dev/null 2>&1
|
|
if [ $? -ne 0 ]; then JSON_CHECK=""; fi
|
|
set -e
|
|
echo "Using $JSON_CHECK ..."
|
|
|
|
|
|
# Check number of lines printed
|
|
input=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
|
|
${tools_dir}/grib_ls -j -l 51.0,1.0,1 $input > $tempOut1
|
|
numlines1=`wc -l $tempOut1 | awk '{print $1}'`
|
|
[ $numlines1 -eq 10 ]
|
|
|
|
${tools_dir}/grib_ls -j -l 51.0,1.0,4 $input > $tempOut2
|
|
numlines2=`wc -l $tempOut2 | awk '{print $1}'`
|
|
[ $numlines2 -eq 13 ]
|
|
|
|
# When mode=1, do not print "selected"
|
|
set +e
|
|
grep -q "selected" $tempOut1
|
|
status=$?
|
|
set -e
|
|
[ $status -ne 0 ]
|
|
|
|
# It should be there when mode=4
|
|
grep -q "selected" $tempOut2
|
|
|
|
# Verify validity of JSON
|
|
if test "x$JSON_CHECK" != "x"; then
|
|
$JSON_VERIF < $tempOut1
|
|
$JSON_VERIF < $tempOut2
|
|
fi
|
|
|
|
|
|
# Clean up
|
|
rm -f $tempOut1 $tempOut2
|