diff --git a/CMakeLists.txt b/CMakeLists.txt index b821472a..4e0c10ba 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,6 +120,7 @@ endif () #for config if (RELEASE_BUILD) set(HS_OPTIMIZE ON) + add_definitions(-DNDEBUG) endif() include (${CMAKE_MODULE_PATH}/sanitize.cmake) diff --git a/unit/hyperscan/behaviour.cpp b/unit/hyperscan/behaviour.cpp index f15e7171..e8a3078f 100644 --- a/unit/hyperscan/behaviour.cpp +++ b/unit/hyperscan/behaviour.cpp @@ -157,7 +157,11 @@ TEST_P(HyperscanScanGigabytesMatch, StreamingMatch) { // gb is the number of gigabytes to scan between pre-block and post-block // run over 1,2,4,8 gb +#ifdef NDEBUG for (unsigned long long gb = 1; gb <= 8; gb *= 2) { +#else + for (unsigned long long gb = 1; gb <= 2; gb *= 2) { +#endif SCOPED_TRACE(gb); hs_stream_t *stream = nullptr; @@ -261,12 +265,12 @@ TEST_P(HyperscanScanGigabytesMatch, BlockMatch) { 1*1024, #ifdef BIG_BLOCKS 4*1024, 32*1024, 128*1024, 512*1024, +#ifdef NDEBUG // gigabytes 1024*1024, -#ifdef ARCH_X86_64 // big cases for big beefy machines 2048*1024, 3072*1024 -#endif // ARCH_X86_64 +#endif // NDEBUG #endif // BIG_BLOCKS }; diff --git a/unit/hyperscan/literals.cpp b/unit/hyperscan/literals.cpp index 86bd317c..6ff3aa43 100644 --- a/unit/hyperscan/literals.cpp +++ b/unit/hyperscan/literals.cpp @@ -235,7 +235,11 @@ static const unsigned test_modes[] = {HS_MODE_BLOCK, HS_MODE_STREAM, static const unsigned test_flags[] = {0, HS_FLAG_SINGLEMATCH, HS_FLAG_SOM_LEFTMOST}; +#ifdef NDEBUG static const unsigned test_sizes[] = {1, 10, 100, 500, 10000}; +#else +static const unsigned test_sizes[] = {1, 10, 100, 500}; +#endif static const pair test_bounds[] = {{3u, 10u}, {10u, 100u}}; diff --git a/unit/internal/multi_bit.cpp b/unit/internal/multi_bit.cpp index c7632d3a..7bb4a1a8 100644 --- a/unit/internal/multi_bit.cpp +++ b/unit/internal/multi_bit.cpp @@ -1327,16 +1327,19 @@ static const MultiBitTestParam multibitTests[] = { { 1024, 1 }, { 1025, 1 }, { 2099, 1 }, +#ifdef NDEBUG { 10000, 1 }, { 32768, 1 }, { 32769, 1 }, { 200000, 1 }, +#endif // Larger cases, bigger strides. { 1U << 18, 3701 }, { 1U << 19, 3701 }, { 1U << 20, 3701 }, { 1U << 21, 3701 }, +#ifdef NDEBUG { 1U << 22, 3701 }, { 1U << 23, 3701 }, { 1U << 24, 3701 }, @@ -1347,6 +1350,7 @@ static const MultiBitTestParam multibitTests[] = { { 1U << 29, 24413 }, { 1U << 30, 50377 }, { 1U << 31, 104729 }, +#endif }; INSTANTIATE_TEST_CASE_P(MultiBit, MultiBitTest, ValuesIn(multibitTests)); diff --git a/unit/internal/multi_bit_compress.cpp b/unit/internal/multi_bit_compress.cpp index 40078f81..14c3f480 100644 --- a/unit/internal/multi_bit_compress.cpp +++ b/unit/internal/multi_bit_compress.cpp @@ -165,10 +165,12 @@ TEST(MultiBitComp, CompCompsizeSparse) { 257, 4097, (1U << 18) + 1, +#ifdef NDEBUG (1U << 24) + 1, (1U << 30) + 1 +#endif }; - for (u32 i = 0; i < 5; i++) { + for (u32 i = 0; i < sizeof(test_set)/sizeof(u32); i++) { u32 test_size = test_set[i]; mmbit_holder ba(test_size); @@ -225,10 +227,12 @@ TEST(MultiBitComp, CompCompsizeDense) { 257, 4097, (1U << 18) + 1, +#ifdef NDEBUG (1U << 24) + 1, (1U << 30) + 1 +#endif }; - for (u32 i = 0; i < 5; i++) { + for (u32 i = 0; i < sizeof(test_set)/sizeof(u32); i++) { u32 test_size = test_set[i]; mmbit_holder ba(test_size); @@ -760,16 +764,19 @@ static const MultiBitCompTestParam multibitCompTests[] = { { 1025, 1 }, { 2099, 1 }, // 4097 = 64 ^ 2 + 1 { 4097, 1 }, +#ifdef NDEBUG { 10000, 1 }, { 32768, 1 }, { 32769, 1 }, { 200000, 1 }, { 262145, 1 }, // 262145 = 64 * 3 + 1 +#endif // Larger cases, bigger strides. { 1U << 19, 3701 }, { 1U << 20, 3701 }, { 1U << 21, 3701 }, +#ifdef NDEBUG { 1U << 22, 3701 }, { 1U << 23, 3701 }, { 1U << 24, 3701 }, @@ -780,6 +787,7 @@ static const MultiBitCompTestParam multibitCompTests[] = { { 1U << 29, 24413 }, { 1U << 30, 50377 }, { 1U << 31, 104729 }, +#endif }; INSTANTIATE_TEST_CASE_P(MultiBitComp, MultiBitCompTest,