CMSIS-DSP: Added compilation flags to disable some test categories in

DSP_Lib_TestSuite.
pull/19/head
Christophe Favergeon 7 years ago
parent bf1f324a6d
commit 2bb1ccfae7

@ -5,6 +5,19 @@ cmake_policy(SET CMP0077 NEW)
set(MATRIXCHECK ON)
set(FASTMATHCOMPUTATIONS OFF)
option(DUMPPATTERN "Dump test patterns when test is failing" ON)
option(BASICMATH_TESTS "Enable Basic Math testing" ON)
option(COMPLEXMATH_TESTS "Enable Complex Math testing" ON)
option(CONTROLLER_TESTS "Enable Controller testing" ON)
option(FASTMATH_TESTS "Enable Fast Math testing" ON)
option(INTRINSICS_TESTS "Enable Intrinsics testing" ON)
option(FILTERING_TESTS "Enable Filtering testing" ON)
option(MATRIX_TESTS "Enable Matrix testing" ON)
option(STATISTICS_TESTS "Enable Statistics testing" ON)
option(SUPPORT_TESTS "Enable Support testing" ON)
option(TRANSFORM_TESTS "Enable Transform testing" ON)
project(DSP_Lib_TestSuite)
# Needed to find the config modules
@ -15,29 +28,29 @@ set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
file(GLOB MAIN "Common/src/*.c")
file(GLOB BASICMATH_TESTS "Common/src/basic_math_tests/*.c")
file(GLOB COMPLEXMATH_TESTS "Common/src/complex_math_tests/*.c")
file(GLOB CONTROLLER_TESTS "Common/src/controller_tests/*.c")
file(GLOB FASTMATH_TESTS "Common/src/fast_math_tests/*.c")
file(GLOB FILTERING_TESTS "Common/src/filtering_tests/*.c")
file(GLOB INTRINSINCS_TESTS "Common/src/intrinsics_tests/*.c")
file(GLOB MATRIX_TESTS "Common/src/matrix_tests/*.c")
file(GLOB STATISTICS_TESTS "Common/src/statistics_tests/*.c")
file(GLOB SUPPORT_TESTS "Common/src/support_tests/*.c")
file(GLOB TRANSFORM_TESTS "Common/src/transform_tests/*.c")
file(GLOB BASICMATH_TESTS_SRC "Common/src/basic_math_tests/*.c")
file(GLOB COMPLEXMATH_TESTS_SRC "Common/src/complex_math_tests/*.c")
file(GLOB CONTROLLER_TESTS_SRC "Common/src/controller_tests/*.c")
file(GLOB FASTMATH_TESTS_SRC "Common/src/fast_math_tests/*.c")
file(GLOB FILTERING_TESTS_SRC "Common/src/filtering_tests/*.c")
file(GLOB INTRINSINCS_TESTS_SRC "Common/src/intrinsics_tests/*.c")
file(GLOB MATRIX_TESTS_SRC "Common/src/matrix_tests/*.c")
file(GLOB STATISTICS_TESTS_SRC "Common/src/statistics_tests/*.c")
file(GLOB SUPPORT_TESTS_SRC "Common/src/support_tests/*.c")
file(GLOB TRANSFORM_TESTS_SRC "Common/src/transform_tests/*.c")
file(GLOB JTEST_MAIN "Common/JTest/src/*.c")
set(TESTSRC ${MAIN}
${BASICMATH_TESTS}
${COMPLEXMATH_TESTS}
${CONTROLLER_TESTS}
${FASTMATH_TESTS}
${FILTERING_TESTS}
${INTRINSINCS_TESTS}
${MATRIX_TESTS}
${STATISTICS_TESTS}
${SUPPORT_TESTS}
${TRANSFORM_TESTS}
${BASICMATH_TESTS_SRC}
${COMPLEXMATH_TESTS_SRC}
${CONTROLLER_TESTS_SRC}
${FASTMATH_TESTS_SRC}
${FILTERING_TESTS_SRC}
${INTRINSINCS_TESTS_SRC}
${MATRIX_TESTS_SRC}
${STATISTICS_TESTS_SRC}
${SUPPORT_TESTS_SRC}
${TRANSFORM_TESTS_SRC}
${JTEST_MAIN}
)
@ -62,6 +75,38 @@ add_subdirectory(RefLibs bin_ref)
add_executable(DSP_Lib_TestSuite)
if (BASICMATH_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_BASICMATH_TESTS)
endif()
if (COMPLEXMATH_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_COMPLEXMATH_TESTS)
endif()
if (CONTROLLER_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_CONTROLLER_TESTS)
endif()
if (FASTMATH_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FASTMATH_TESTS)
endif()
if (FILTERING_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_FILTERING_TESTS)
endif()
if (INTRINSICS_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_INTRINSICS_TESTS)
endif()
if (MATRIX_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_MATRIX_TESTS)
endif()
if (STATISTICS_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_STATISTICS_TESTS)
endif()
if (SUPPORT_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_SUPPORT_TESTS)
endif()
if (TRANSFORM_TESTS)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE ENABLE_TRANSFORM_TESTS)
endif()
if (DUMPPATTERN)
target_compile_definitions(DSP_Lib_TestSuite PRIVATE DUMPPATTERN)
endif()

@ -62,22 +62,6 @@
/**
* Assert that buffers A and B are byte-equivalent for a number of bytes.
*/
#if defined(DUMPPATTERN)
#define TEST_ASSERT_BUFFERS_EQUAL(buf_a, buf_b, bytes) \
do \
{ \
if (memcmp(buf_a, buf_b, bytes) != 0) \
{ \
JTEST_DUMP_STRF("%s","DUMP PATTERNS\n"); \
for(unsigned long i=0;i < bytes; i++) \
{ \
/*JTEST_DUMP_STRF("%0x %0x\n", *a,*b);*/\
} \
return JTEST_TEST_FAILED; \
} \
} while (0)
#else
#define TEST_ASSERT_BUFFERS_EQUAL(buf_a, buf_b, bytes)\
do \
@ -89,7 +73,7 @@
} while (0)
#endif
/**
* Assert that the two entities are equal.
@ -131,7 +115,6 @@
* Assert that the SNR between a reference and test sample is above a given
* threshold.
*/
#if defined(DUMPPATTERN)
#define TEST_ASSERT_SNR(ref_ptr, tst_ptr, block_size, threshold) \
do \
@ -139,53 +122,16 @@
float32_t snr = arm_snr_f32(ref_ptr, tst_ptr, block_size);\
if ( snr <= threshold) \
{ \
JTEST_DUMP_STRF("%s","DUMP PATTERNS\n"); \
for(unsigned long i=0;i < block_size; i++) \
{ \
/*JTEST_DUMP_STRF("%f %f\n", ref_ptr[i],tst_ptr[i]);*/\
} \
JTEST_DUMP_STRF("SNR: %f\n", snr); \
return JTEST_TEST_FAILED; \
} \
} while (0)
#else
#define TEST_ASSERT_SNR(ref_ptr, tst_ptr, block_size, threshold) \
do \
{ \
float32_t snr = arm_snr_f32(ref_ptr, tst_ptr, block_size);\
if ( snr <= threshold) \
{ \
JTEST_DUMP_STRF("SNR: %f\n", snr); \
return JTEST_TEST_FAILED; \
} \
} while (0)
#endif
/**
* Assert that the SNR between a reference and test sample is above a given
* threshold. Special case for float64_t
*/
#if defined(DUMPPATTERN)
#define TEST_ASSERT_DBL_SNR(ref_ptr, tst_ptr, block_size, threshold)\
do \
{ \
float64_t snr = arm_snr_f64(ref_ptr, tst_ptr, block_size); \
if ( snr <= threshold) \
{ \
JTEST_DUMP_STRF("%s","DUMP PATTERNS\n"); \
for(unsigned long i=0;i < block_size; i++) \
{ \
/* JTEST_DUMP_STRF("%f %f\n", ref_ptr[i],tst_ptr[i]);*/ \
} \
JTEST_DUMP_STRF("SNR: %f\n", snr); \
return JTEST_TEST_FAILED; \
} \
} while (0)
#else
#define TEST_ASSERT_DBL_SNR(ref_ptr, tst_ptr, block_size, threshold)\
do \
@ -198,7 +144,6 @@
} \
} while (0)
#endif
/**
* Compare test and reference elements by converting to float and

@ -7,9 +7,7 @@
#include "matrix_test_group.h"
#include "statistics_test_group.h"
#include "support_test_group.h"
#ifndef ARMv7A
#include "transform_test_group.h"
#endif
#include "intrinsics_test_group.h"
JTEST_DEFINE_GROUP(all_tests)
@ -17,21 +15,48 @@ JTEST_DEFINE_GROUP(all_tests)
/*
To skip a test, comment it out
*/
#if defined(ENABLE_BASICMATH_TESTS)
JTEST_GROUP_CALL(basic_math_tests);
#endif
#if defined(ENABLE_COMPLEXMATH_TESTS)
JTEST_GROUP_CALL(complex_math_tests);
#endif
#if defined(ENABLE_CONTROLLER_TESTS)
JTEST_GROUP_CALL(controller_tests);
#endif
#if defined(ENABLE_FASTMATH_TESTS)
JTEST_GROUP_CALL(fast_math_tests);
#endif
#if defined(ENABLE_FILTERING_TESTS)
/* Biquad df2T_f32 will fail with Neon. The test must be updated.
Neon implementation is requiring a different initialization.
*/
JTEST_GROUP_CALL(filtering_tests);
#endif
#if defined(ENABLE_MATRIX_TESTS)
JTEST_GROUP_CALL(matrix_tests);
#endif
#if defined(ENABLE_STATISTICS_TESTS)
JTEST_GROUP_CALL(statistics_tests);
#endif()
#if defined(ENABLE_SUPPORT_TESTS)
JTEST_GROUP_CALL(support_tests);
#ifndef ARMv7A
#endif
#if defined(ENABLE_TRANSFORM_TESTS)
JTEST_GROUP_CALL(transform_tests);
#endif
#if defined(ENABLE_INTRINSICS_TESTS)
JTEST_GROUP_CALL(intrinsics_tests);
#endif
return;
}

Loading…
Cancel
Save