This fixes an issue on Arm with lld:
ld.lld: error: relocation R_AARCH64_PREL64 cannot be used against symbol OPENSSL_armcap_P; recompile with -fPIC
I think the problem was that lld thought that the shared object might
need to interpose OPENSSL_armcap_P at runtime, although honestly I'm not
too sure about all this linker stuff.
String.format can be potentially expensive, and if using `printable()`
within a hot loop that can be a performance penalty. Admittedly, it
doesn't seem like a good idea to call printable() from within a hot
loop, but if you have to, it's good for it to perform well.
release-6.3 was recently merged, and there were two PRs which were
merged in between and got those changes in here. Hence, since all the
changes were in, discarded the incoming changes and accepted all
current.
First, this converts the java unit testing framework to junit 5.
Then we create some easy unit tests, move TupleTest logic into unit
tests, and move some other tests into ArrayUtilTests.
This also adds new cmake configuration to run junit and integration tests
through ctest.
There is a mechanism to write integration tests that depend on a running
fdb cluster by having those tests be skipped if they can't connect to a
database quickly. This should help to add those tests in CI, although
eventually we'll probably want to move this to throw an error instead
(once the CI build process clears out and we can guarantee a running
server during CI testing).
Converting to junit 5
This adds the ability to run junit tests through ctest a little more
easily (no Suites required). It also adds a small amount of
documentation to explain to the average developer how to go about using
Junit effectively.
First, this converts the java unit testing framework to junit 5.
Then we create some easy unit tests, move TupleTest logic into unit
tests, and move some other tests into ArrayUtilTests.
This also adds new cmake configuration to run junit and integration tests
through ctest.
There is a mechanism to write integration tests that depend on a running
fdb cluster by having those tests be skipped if they can't connect to a
database quickly. This should help to add those tests in CI, although
eventually we'll probably want to move this to throw an error instead
(once the CI build process clears out and we can guarantee a running
server during CI testing).
Converting to junit 5
This adds the ability to run junit tests through ctest a little more
easily (no Suites required). It also adds a small amount of
documentation to explain to the average developer how to go about using
Junit effectively.