cst-byte-test/child and cst-byte-test/edge fail when assertions are enabled
The unit tests in question fail when compiled without -DNDEBUG.
Steps to reproduce:
- Clone sdsl-lite.
- Remove
-DNDEBUGfrom compiler flags by e.g. patchingCMakeLists.txt. cd build; cmake -DCMAKE_BUILD_TYPE=RelWithDebAndAssert ..; make -j8; make cst-byte-test
Expected results: unit tests passed.
Actual results: assertion failure in cst_sct3.hpp line 681. (Please see error-message.txt for details.) Removing the assertion in question reveals the other assertion failure in int_vector.hpp. (See error-message-2.txt.)
the files (error-message-*.txt) are not accessible for me.
actually, now it works.
In general I think we should remove the -NDEBUG compiler flag and just use different release types.
@tsnorri I can't seem to reproduce this. Are you working on the current master branch?
@tsnorri Thanks for the comment. Unftly, I was also not able to reproduce the issue on my machine.
I was working on the master branch. I'll try again as soon as possible.
This still happens to me even if I make a pristine clone of the repository and build the library and the tests on another workstation. Here's a complete build log if it's of any help.
I did notice that just removing -DNDEBUG from CMakeLists.txt didn't reveal the failure as cmake adds the flag itself when setting the build type to Release.