Move libm-test TEST_MSG definitions to libm-test-driver.c.

Various files using the libm-test infrastructure define a TEST_MSG
macro with an informal description of the tests being run.

This patch moves this macro to libm-test-driver.c (the definition
depending on other macros already defined), so files specific to
(type, choice of whether to test inline functions or finite-math-only
functions, vector length) no longer need to define it.  This is in
preparation for replacing files such as test-float.c with per-function
test-float-<func>.c etc. automatically generated in the build
directory when tests are run.

Tested for x86_64.

	* math/libm-test-driver.c (STRX): New macro.
	(STR): Likewise.
	(STR_FLOAT): Likewise.
	(STR_VEC_LEN): Likewise.
	(TEST_MSG): Likewise.  Define here instead of expecting to be
	defined by including file.
	* math/test-double-finite.c (TEST_MSG): Remove macro.
	* math/test-double-vlen2.h (TEST_MSG): Likewise.
	* math/test-double-vlen4.h (TEST_MSG): Likewise.
	* math/test-double-vlen8.h (TEST_MSG): Likewise.
	* math/test-double.c (TEST_MSG): Likewise.
	* math/test-float-finite.c (TEST_MSG): Likewise.
	* math/test-float-vlen16.h (TEST_MSG): Likewise.
	* math/test-float-vlen4.h (TEST_MSG): Likewise.
	* math/test-float-vlen8.h (TEST_MSG): Likewise.
	* math/test-float.c (TEST_MSG): Likewise.
	* math/test-idouble.c (TEST_MSG): Likewise.
	* math/test-ifloat.c (TEST_MSG): Likewise.
	* math/test-ildouble.c (TEST_MSG): Likewise.
	* math/test-ldouble-finite.c (TEST_MSG): Likewise.
	* math/test-ldouble.c (TEST_MSG): Likewise.
This commit is contained in:
Joseph Myers 2017-02-06 23:07:22 +00:00
parent 5cbb58493d
commit a622c2db55
17 changed files with 38 additions and 31 deletions

View File

@ -1,5 +1,27 @@
2017-02-06 Joseph Myers <joseph@codesourcery.com>
* math/libm-test-driver.c (STRX): New macro.
(STR): Likewise.
(STR_FLOAT): Likewise.
(STR_VEC_LEN): Likewise.
(TEST_MSG): Likewise. Define here instead of expecting to be
defined by including file.
* math/test-double-finite.c (TEST_MSG): Remove macro.
* math/test-double-vlen2.h (TEST_MSG): Likewise.
* math/test-double-vlen4.h (TEST_MSG): Likewise.
* math/test-double-vlen8.h (TEST_MSG): Likewise.
* math/test-double.c (TEST_MSG): Likewise.
* math/test-float-finite.c (TEST_MSG): Likewise.
* math/test-float-vlen16.h (TEST_MSG): Likewise.
* math/test-float-vlen4.h (TEST_MSG): Likewise.
* math/test-float-vlen8.h (TEST_MSG): Likewise.
* math/test-float.c (TEST_MSG): Likewise.
* math/test-idouble.c (TEST_MSG): Likewise.
* math/test-ifloat.c (TEST_MSG): Likewise.
* math/test-ildouble.c (TEST_MSG): Likewise.
* math/test-ldouble-finite.c (TEST_MSG): Likewise.
* math/test-ldouble.c (TEST_MSG): Likewise.
* math/libm-test.inc: Move all tests of individual functions to
libm-test-*.inc and #include libm-test-*.c files.
(acos_test_data): Remove.

View File

@ -25,7 +25,6 @@
FUNC(function): converts general function name (like cos) to
name with correct suffix (e.g. cosl or cosf)
FLOAT: floating point type to test
- TEST_MSG: informal message to be displayed
chooses one of the parameters as delta for testing
equality
PREFIX A macro which defines the prefix for common macros for the
@ -108,6 +107,22 @@
arrays. */
#include "libm-test-ulps.h"
#define STRX(x) #x
#define STR(x) STRX (x)
#define STR_FLOAT STR (FLOAT)
#define STR_VEC_LEN STR (VEC_LEN)
/* Informal description of the functions being tested. */
#if TEST_MATHVEC
# define TEST_MSG "testing " STR_FLOAT " (vector length " STR_VEC_LEN ")\n"
#elif TEST_INLINE
# define TEST_MSG "testing " STR_FLOAT " (inline functions)\n"
#elif TEST_FINITE
# define TEST_MSG "testing " STR_FLOAT " (finite-math-only)\n"
#else
# define TEST_MSG "testing " STR_FLOAT " (without inline functions)\n"
#endif
/* Allow platforms without all rounding modes to test properly,
assuming they provide an __FE_UNDEFINED in <bits/fenv.h> which
causes fesetround() to return failure. */

View File

@ -20,6 +20,4 @@
#include "test-math-no-inline.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing double (finite-math-only)\n"
#include "libm-test.c"

View File

@ -20,8 +20,6 @@
#include "test-math-no-inline.h"
#include "test-math-vector.h"
#define TEST_MSG "testing double vector math (without inline functions)\n"
#define EXCEPTION_TESTS_double 0
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)

View File

@ -20,8 +20,6 @@
#include "test-math-no-inline.h"
#include "test-math-vector.h"
#define TEST_MSG "testing double vector math (without inline functions)\n"
#define EXCEPTION_TESTS_double 0
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)

View File

@ -20,8 +20,6 @@
#include "test-math-no-inline.h"
#include "test-math-vector.h"
#define TEST_MSG "testing double vector math (without inline functions)\n"
#define EXCEPTION_TESTS_double 0
#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)

View File

@ -22,6 +22,4 @@
#include "test-math-errno.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing double (without inline functions)\n"
#include "libm-test.c"

View File

@ -20,6 +20,4 @@
#include "test-math-no-inline.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing float (finite-math-only)\n"
#include "libm-test.c"

View File

@ -20,8 +20,6 @@
#include "test-math-no-inline.h"
#include "test-math-vector.h"
#define TEST_MSG "testing float vector math (without inline functions)\n"
#define EXCEPTION_TESTS_float 0
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)

View File

@ -20,8 +20,6 @@
#include "test-math-no-inline.h"
#include "test-math-vector.h"
#define TEST_MSG "testing float vector math (without inline functions)\n"
#define EXCEPTION_TESTS_float 0
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)

View File

@ -20,8 +20,6 @@
#include "test-math-no-inline.h"
#include "test-math-vector.h"
#define TEST_MSG "testing float vector math (without inline functions)\n"
#define EXCEPTION_TESTS_float 0
#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)

View File

@ -22,6 +22,4 @@
#include "test-math-errno.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing float (without inline functions)\n"
#include "libm-test.c"

View File

@ -20,6 +20,4 @@
#include "test-math-inline.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing double (inline functions)\n"
#include "libm-test.c"

View File

@ -20,6 +20,4 @@
#include "test-math-inline.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing float (inline functions)\n"
#include "libm-test.c"

View File

@ -20,6 +20,4 @@
#include "test-math-inline.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing long double (inline functions)\n"
#include "libm-test.c"

View File

@ -20,6 +20,4 @@
#include "test-math-no-inline.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing long double (finite-math-only)\n"
#include "libm-test.c"

View File

@ -22,6 +22,4 @@
#include "test-math-errno.h"
#include "test-math-scalar.h"
#define TEST_MSG "testing long double (without inline functions)\n"
#include "libm-test.c"