Explore all combinations where the server and the client
each takes one of the following TLS/cert-chain configuration:
No TLS, no chain, valid chain, expired chain, valid self-signed, expired self-signed
Negative cases are indirectly tested using timeouts:
i.e. if it times out, it means it's not connecting
+ Fix TSAN data race error in original test
(Calling FlowTransport::bind() with an active network thread running in background)
+ Properly redirect-and-capture subprocess stdout instead of just printing
(CTest tends to truncate subprocess console outputs)
fdb_find_sources CMake command adds all sources directly under fdbrpc/,
which would end up embedding the test binary into libfdbrpc.a
Avoid this by placing the test binary under subdirectory fdbrpc/tests/