mirror of https://github.com/ecmwf/eccodes.git
Add better error messages
This commit is contained in:
parent
ee77c57a5d
commit
571b894019
|
@ -469,7 +469,10 @@ static int pack_long(grib_accessor* a, const long* v, size_t* len)
|
||||||
grib_context_free(c, val);
|
grib_context_free(c, val);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
grib_context_log(c, GRIB_LOG_ERROR, "Should not grib_pack %s as long", a->name);
|
grib_context_log(c, GRIB_LOG_ERROR, "Should not pack '%s' as an integer", a->name);
|
||||||
|
if (a->cclass->pack_string && a->cclass->pack_string != &pack_string) {
|
||||||
|
grib_context_log(c, GRIB_LOG_ERROR, "Try packing as a string");
|
||||||
|
}
|
||||||
return GRIB_NOT_IMPLEMENTED;
|
return GRIB_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,7 +510,10 @@ static int pack_double(grib_accessor* a, const double* v, size_t* len)
|
||||||
if (do_pack_as_long) {
|
if (do_pack_as_long) {
|
||||||
return pack_double_array_as_long(a, v, len);
|
return pack_double_array_as_long(a, v, len);
|
||||||
}
|
}
|
||||||
grib_context_log(c, GRIB_LOG_ERROR, "Should not grib_pack %s as double", a->name);
|
grib_context_log(c, GRIB_LOG_ERROR, "Should not pack '%s' as a double", a->name);
|
||||||
|
if (a->cclass->pack_string && a->cclass->pack_string != &pack_string) {
|
||||||
|
grib_context_log(c, GRIB_LOG_ERROR, "Try packing as a string");
|
||||||
|
}
|
||||||
return GRIB_NOT_IMPLEMENTED;
|
return GRIB_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,6 @@
|
||||||
* In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
* 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.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
/***********************************************************
|
|
||||||
* Enrico Fucile
|
|
||||||
***********************************************************/
|
|
||||||
|
|
||||||
#include "grib_api_internal.h"
|
#include "grib_api_internal.h"
|
||||||
/*
|
/*
|
||||||
|
@ -181,13 +178,13 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
|
||||||
|
|
||||||
static int pack_long(grib_accessor* a, const long* v, size_t* len)
|
static int pack_long(grib_accessor* a, const long* v, size_t* len)
|
||||||
{
|
{
|
||||||
grib_context_log(a->context, GRIB_LOG_ERROR, " Should not pack %s as long", a->name);
|
grib_context_log(a->context, GRIB_LOG_ERROR, "Should not pack %s as an integer", a->name);
|
||||||
return GRIB_NOT_IMPLEMENTED;
|
return GRIB_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pack_double(grib_accessor* a, const double* v, size_t* len)
|
static int pack_double(grib_accessor* a, const double* v, size_t* len)
|
||||||
{
|
{
|
||||||
grib_context_log(a->context, GRIB_LOG_ERROR, " Should not pack %s as double", a->name);
|
grib_context_log(a->context, GRIB_LOG_ERROR, "Should not pack %s as a double", a->name);
|
||||||
return GRIB_NOT_IMPLEMENTED;
|
return GRIB_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,6 @@
|
||||||
* In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
|
* 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.
|
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
|
||||||
*/
|
*/
|
||||||
/***********************************************************
|
|
||||||
* Enrico Fucile
|
|
||||||
***********************************************************/
|
|
||||||
|
|
||||||
#include "grib_api_internal.h"
|
#include "grib_api_internal.h"
|
||||||
/*
|
/*
|
||||||
|
@ -206,13 +203,13 @@ static int pack_string(grib_accessor* a, const char* val, size_t* len)
|
||||||
|
|
||||||
static int pack_long(grib_accessor* a, const long* v, size_t* len)
|
static int pack_long(grib_accessor* a, const long* v, size_t* len)
|
||||||
{
|
{
|
||||||
grib_context_log(a->context, GRIB_LOG_ERROR, " Should not pack %s as long", a->name);
|
grib_context_log(a->context, GRIB_LOG_ERROR, "Should not pack %s as an integer", a->name);
|
||||||
return GRIB_NOT_IMPLEMENTED;
|
return GRIB_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pack_double(grib_accessor* a, const double* v, size_t* len)
|
static int pack_double(grib_accessor* a, const double* v, size_t* len)
|
||||||
{
|
{
|
||||||
grib_context_log(a->context, GRIB_LOG_ERROR, " Should not pack %s as double", a->name);
|
grib_context_log(a->context, GRIB_LOG_ERROR, "Should not pack %s as a double", a->name);
|
||||||
return GRIB_NOT_IMPLEMENTED;
|
return GRIB_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,7 @@ grib_check_key_equals $temp2 uuidOfHGrid '10991111111111111111115000110000'
|
||||||
|
|
||||||
|
|
||||||
# Test errors
|
# Test errors
|
||||||
|
# --------------
|
||||||
set +e
|
set +e
|
||||||
# Invalid HEX
|
# Invalid HEX
|
||||||
${tools_dir}/grib_set -s uuidOfHGrid=DEZZBEef10203040b00b1e50001100FF $temp1 $temp2 2>$errlog
|
${tools_dir}/grib_set -s uuidOfHGrid=DEZZBEef10203040b00b1e50001100FF $temp1 $temp2 2>$errlog
|
||||||
|
@ -40,6 +41,15 @@ set -e
|
||||||
[ $status -ne 0 ]
|
[ $status -ne 0 ]
|
||||||
grep -q "Invalid hex byte specfication 'ZZ'" $errlog
|
grep -q "Invalid hex byte specfication 'ZZ'" $errlog
|
||||||
|
|
||||||
|
# Packing as an integer
|
||||||
|
set +e
|
||||||
|
${tools_dir}/grib_set -s uuidOfHGrid=12345 $temp1 $temp2 2>$errlog
|
||||||
|
status=$?
|
||||||
|
set -e
|
||||||
|
[ $status -ne 0 ]
|
||||||
|
grep -q "Should not pack 'uuidOfHGrid' as an integer" $errlog
|
||||||
|
grep -q "Try packing as a string" $errlog
|
||||||
|
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
rm -f $temp1 $temp2 $errlog
|
rm -f $temp1 $temp2 $errlog
|
||||||
|
|
Loading…
Reference in New Issue