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.