Testing: Enable assert macro (even in release mode)

This commit is contained in:
Shahram Najm 2022-08-01 12:00:29 +01:00
parent 1d54dfca84
commit f44ce5cc55
14 changed files with 38 additions and 32 deletions

View File

@ -10,8 +10,6 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <assert.h>
#include "grib_api_internal.h" #include "grib_api_internal.h"
@ -23,6 +21,7 @@
void test_bits(double x, unsigned long mode) void test_bits(double x, unsigned long mode)
{ {
int err = 0;
double y = 0, z = 0, w = 0, t = 0; double y = 0, z = 0, w = 0, t = 0;
double dy = 0, dz = 0, dw = 0, dt = 0; double dy = 0, dz = 0, dw = 0, dt = 0;
unsigned long i = 0, j = 0, k = 0, l = 0; unsigned long i = 0, j = 0, k = 0, l = 0;
@ -39,7 +38,8 @@ void test_bits(double x, unsigned long mode)
dw = w - x; dw = w - x;
if (!(mode & NO_NEAREST_SMALLER_IBM_FLOAT)) { if (!(mode & NO_NEAREST_SMALLER_IBM_FLOAT)) {
t = grib_nearest_smaller_ibm_float(x); err = grib_nearest_smaller_ibm_float(x, &t);
Assert(!err);
l = grib_ibm_to_long(y); l = grib_ibm_to_long(y);
dt = t - x; dt = t - x;
} }
@ -94,19 +94,14 @@ void print_machine_parameters()
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
double x, y, z, w, d, eps, epst, epsh; double x, y, z, d, eps, epst, epsh;
double dt = 0; unsigned long i, j, nc, c;
unsigned long i, j, n, nc, c, m; /*unsigned char ibm[4];*/
unsigned long seed = 123;
unsigned char ibm[4];
float xf = 0;
int r;
unsigned long iminp = 0x00100000, imaxp = 0x7fffffff; unsigned long iminp = 0x00100000, imaxp = 0x7fffffff;
unsigned long iminn = 0x80100000, imaxn = 0xffffffff; unsigned long iminn = 0x80100000, imaxn = 0xffffffff;
double dminp = 0, dmaxp = 0, dminn = 0, dmaxn = 0; double dminp = 0, dmaxp = 0, dminn = 0, dmaxn = 0;
double dminpn = 0, dmaxpp = 0, dminnn = 0, dmaxnp = 0; double dminpn = 0, dmaxpp = 0, dminnn = 0, dmaxnp = 0;
unsigned long A; unsigned long A;
long e;
int k, cc; int k, cc;
dminp = grib_long_to_ibm(iminp); dminp = grib_long_to_ibm(iminp);
@ -124,7 +119,7 @@ int main(int argc, char* argv[])
printf("grib_ibm_to_long(%.20e)=0x%lX grib_long_to_ibm(0x%lX)=%.20e grib_ibm_nearest_smaller_to_long(%.20e)=0x%lX\n", printf("grib_ibm_to_long(%.20e)=0x%lX grib_long_to_ibm(0x%lX)=%.20e grib_ibm_nearest_smaller_to_long(%.20e)=0x%lX\n",
x, i, i, grib_long_to_ibm(i), x, j); x, i, i, grib_long_to_ibm(i), x, j);
printf("grib_long_to_ibm(grib_ibm_nearest_smaller_to_long(%.20e))=%.20e\n", x, grib_long_to_ibm(j)); printf("grib_long_to_ibm(grib_ibm_nearest_smaller_to_long(%.20e))=%.20e\n", x, grib_long_to_ibm(j));
exit(0); /* exit(0); */
/* /*
if (argc > 1 ) { if (argc > 1 ) {
@ -242,9 +237,9 @@ int main(int argc, char* argv[])
} }
A = (i & 0x7f000000) >> 24; A = (i & 0x7f000000) >> 24;
e = A - 70; /*e = A - 70;*/
eps = 1; eps = 1;
m = (i & 0xffffff); /*m = (i & 0xffffff);*/
/* printf("---m=0x%lX\n",m); */ /* printf("---m=0x%lX\n",m); */
eps = grib_ibm_table_e(A); eps = grib_ibm_table_e(A);

View File

@ -8,7 +8,6 @@
* 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.
*/ */
#include <assert.h>
#include "grib_api_internal.h" #include "grib_api_internal.h"
static const size_t MIN_NUM_COLUMNS = 8; static const size_t MIN_NUM_COLUMNS = 8;

View File

@ -1,4 +1,15 @@
/*
* (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 "eccodes.h" #include "eccodes.h"
#undef NDEBUG
#include <assert.h> #include <assert.h>
#ifndef HAVE_FSEEKO #ifndef HAVE_FSEEKO

View File

@ -7,7 +7,9 @@
* 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.
*/ */
#include "eccodes.h" #include "eccodes.h"
#undef NDEBUG
#include <assert.h> #include <assert.h>
int main(int argc, char** argv) int main(int argc, char** argv)

View File

@ -9,6 +9,7 @@
*/ */
#include "eccodes.h" #include "eccodes.h"
#undef NDEBUG
#include <assert.h> #include <assert.h>
#define MAX_KEYS 100 #define MAX_KEYS 100

View File

@ -9,6 +9,7 @@
*/ */
#include "eccodes.h" #include "eccodes.h"
#undef NDEBUG
#include <assert.h> #include <assert.h>
static void compare_doubles(const double d1, const double d2, const double epsilon) static void compare_doubles(const double d1, const double d2, const double epsilon)

View File

@ -9,6 +9,7 @@
*/ */
#include "eccodes.h" #include "eccodes.h"
#undef NDEBUG
#include <assert.h> #include <assert.h>
static void usage(const char* prog) static void usage(const char* prog)

View File

@ -8,7 +8,6 @@
* 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.
*/ */
#include <assert.h>
#include "grib_api_internal.h" #include "grib_api_internal.h"
typedef struct sample_t { typedef struct sample_t {
@ -48,11 +47,11 @@ int main(int argc, char** argv)
printf("Testing codes_handle_new_from_samples on %s\n", name); printf("Testing codes_handle_new_from_samples on %s\n", name);
h = codes_handle_new_from_samples(0, name); h = codes_handle_new_from_samples(0, name);
assert(h); Assert(h);
assert(samples[i].expected_kind == h->product_kind); Assert(samples[i].expected_kind == h->product_kind);
GRIB_CHECK(grib_get_string(h, "identifier", identifier, &len), 0); GRIB_CHECK(grib_get_string(h, "identifier", identifier, &len), 0);
assert( strcmp(samples[i].expected_ID, identifier) == 0 ); Assert( strcmp(samples[i].expected_ID, identifier) == 0 );
grib_handle_delete(h); grib_handle_delete(h);
} }

View File

@ -8,7 +8,6 @@
* 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.
*/ */
#include <assert.h>
#include "grib_api_internal.h" #include "grib_api_internal.h"
/* Windows always has a colon in pathnames e.g. C:\temp\file. So instead we use semi-colons as delimiter */ /* Windows always has a colon in pathnames e.g. C:\temp\file. So instead we use semi-colons as delimiter */

View File

@ -9,6 +9,8 @@
*/ */
#include "eccodes.h" #include "eccodes.h"
#undef NDEBUG
#include <assert.h> #include <assert.h>
int main(int argc, char* argv[]) int main(int argc, char* argv[])

View File

@ -13,8 +13,7 @@
* setting the wrong number of bpv should result in an error * setting the wrong number of bpv should result in an error
*/ */
#include <assert.h> #include "grib_api_internal.h"
#include "grib_api.h"
static double compare_double_absolute(double a, double b, double tolerance) static double compare_double_absolute(double a, double b, double tolerance)
{ {
@ -55,9 +54,9 @@ int main(int argc, char** argv)
for (i = 0; i < 255; i++) { for (i = 0; i < 255; i++) {
FILE* in = fopen(filename, "rb"); FILE* in = fopen(filename, "rb");
assert(in); Assert(in);
h = grib_handle_new_from_file(0, in, &err); h = grib_handle_new_from_file(0, in, &err);
assert(h); Assert(h);
/* get the size of the values array*/ /* get the size of the values array*/
GRIB_CHECK(grib_get_size(h, "values", &values_len), 0); GRIB_CHECK(grib_get_size(h, "values", &values_len), 0);

View File

@ -18,7 +18,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
#include "eccodes.h" #include "eccodes.h"
static void usage(const char* prog) static void usage(const char* prog)

View File

@ -9,8 +9,6 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <assert.h>
#include "grib_api_internal.h" #include "grib_api_internal.h"
@ -18,15 +16,15 @@ int main(int argc, char* argv[])
{ {
unsigned long i = 0; unsigned long i = 0;
assert(grib_ibm_to_long(grib_long_to_ibm(i)) == i); Assert(grib_ibm_to_long(grib_long_to_ibm(i)) == i);
for (i = 1; i < 0x7fffffff; i++) { for (i = 1; i < 0x7fffffff; i++) {
unsigned long j = i | 0x80000000; unsigned long j = i | 0x80000000;
if (grib_ibm_to_long(grib_long_to_ibm(i)) != i) { if (grib_ibm_to_long(grib_long_to_ibm(i)) != i) {
printf("i=%ld i=%lx e=%g x=%lx\n", i, i, grib_long_to_ibm(i), grib_ibm_to_long(grib_long_to_ibm(i))); printf("i=%ld i=%lx e=%g x=%lx\n", i, i, grib_long_to_ibm(i), grib_ibm_to_long(grib_long_to_ibm(i)));
assert(grib_ibm_to_long(grib_long_to_ibm(i)) == i); Assert(grib_ibm_to_long(grib_long_to_ibm(i)) == i);
} }
assert(grib_ibm_to_long(grib_long_to_ibm(j)) == j); Assert(grib_ibm_to_long(grib_long_to_ibm(j)) == j);
if ((i % 100000) == 0) if ((i % 100000) == 0)
printf("i = %08lx %08lx %g %g\n", i, j, grib_long_to_ibm(i), grib_long_to_ibm(j)); printf("i = %08lx %08lx %g %g\n", i, j, grib_long_to_ibm(i), grib_long_to_ibm(j));
} }

View File

@ -8,14 +8,13 @@
* 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.
*/ */
#include <assert.h>
#include <stdio.h> #include <stdio.h>
#ifndef ECCODES_ON_WINDOWS #ifndef ECCODES_ON_WINDOWS
#include <unistd.h> #include <unistd.h>
#endif #endif
#include "grib_api.h" #include "grib_api_internal.h"
int main(int argc, char** argv) int main(int argc, char** argv)
{ {