This is the implementation epic that springs from QTPM-242
As a developer, I want to be able to type 'make check' and have network tests automatically run minimal setup required.
We would like to replace the current monolithic network test server with several dedicated servers for different purposes:
- HTTP(S) 1.0-2.0 / OpenSSL server
- FTP server
- NTLM server?
- Email server?
- SOCKS server
- SQL server: QTQAINFRA-989
(this list needs some work). The rough plan is to put each service into a separate container (e.g. docker) described by a line-structured text file in git, that some infrastructure (most likely either make check or testlib) launches during testing; that infrastructure needs to capture IP addresses from each container and communicate, to the tests, some mapping from the services the test requests to the IP address at which to find each. (e.g. make check might set environment variables that the test sees; or testlib might return a QHostAddress from whatever launches each container.)
We can then progressively convert tests from using the old network test server to using the new model, until we manage to make the old server redundant. We shall want some way to cache pre-cooked images (generated from the text files in git and ready to run) so that Coin (or a developer running a lot of affected tests) won't waste too many cycles re-cooking the same containers.