path: root/tests/testserver
Commit message (Collapse)AuthorAgeFilesLines
* Docker-based test servers for network-related Qt autotests on macOSRyan Chu2018-10-182-1/+81
| | | | | | | | | | | | | There is no docker bridge on macOS. Docker document recommends using port mapping to connect to a container; but it causes a port conflict if the user is running a service that binds the same port on the host. An alternative solution is to deploy the docker environment into VirtualBox and use the host network option. Task-number: QTQAINFRA-2293 Change-Id: I05dc65c5f8b4be7a1b1874a4ec7c034cc68679ca Reviewed-by: Edward Welbourne <> Reviewed-by: Jędrzej Nowacki <>
* Use environment variable to configure the interfaces of a Dante serverRyan Chu2018-10-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | The internal and external keywords in the server configuration are used to specify the network interface (IP address) that the Dante server should bind to. Because docker-compose allows a container to join more than one network (by adding multiple entries under the top level networks key to a docker-compose file), the default server configuration (danted.conf) shall be updated in accordance with the settings in the docker-compose file. The user can pass the setting of a docker-compose file to containers by adding environment variables in the docker-compose file. After the container gets created, the script uses the input environment variables to overwrite the default value of internal and external interfaces before starting the Dante server. environment: - danted_internal=eth1 - danted_external=eth1 - danted_auth_internal=eth1 - danted_auth_external=eth1 Change-Id: I7c65cdd136ba5dac387bee5e22e1f4335e960101 Reviewed-by: Edward Welbourne <> Reviewed-by: Jędrzej Nowacki <>
* Rework QNetworkReply tests to use docker-based test serversRyan Chu2018-07-277-0/+112
| | | | | | | | | | | | | | | This change frees the tests of their dependence on the Qt internal test server (qt-test-server.qt-test-net). It makes the developers run the tests out of Qt testing infrastructure. If the user has installed Docker engine on their host, the test servers will be built up inside separate Docker containers, and then, the test case goes with the Docker-based test servers. Otherwise, the test case will keep using the Qt internal test server. Task-number: QTQAINFRA-1686 Change-Id: I518bc3675bfd658938509744b0e7e0610bc8bf66 Reviewed-by: Jędrzej Nowacki <>
* Enable mDNS service discovery in Docker-based test serversRyan Chu2018-07-104-34/+33
| | | | | | | | | | | | | | | | | | To resolve the challenge of connecting Docker containers from the host without extra user-efforts, Avahi is used to publish the Docker-based test servers (Docker containers) on a local network. It is a free Zeroconf implementation, and it provides multicast DNS (mDNS) service discovery. By default, mDNS only resolves hostname ending with the ".local" domain. In this change, the domain name of test servers is changed to "test-net.qt.local". As stated in the standard, the DNS query for a local domain will be sent to the mDNS multicast address. It avoids the need for root access to modify system files. Task-number: QTQAINFRA-1686 Change-Id: I255fba0720ee6d0e84c9cb5ca9289d4466578922 Reviewed-by: Edward Welbourne <> Reviewed-by: Ryan Chu <> Reviewed-by: Jędrzej Nowacki <>
* Docker-based test servers for network-related Qt autotestsRyan Chu2018-07-0530-0/+898
The existing network test server has some limitations. Most notably, it is not accessible by every Qt developer. Also, some services don't allow simultaneous access, which causes flaky test results. Instead of centralizing all the services to one physical machine, the idea is to build up several dedicated servers inside separate Docker containers. 1. Create testserver.pri and integrate it into the make check command of Qt Test. 2. Define QT_TEST_SERVER flag for changing test parameters at compile time. Task-number: QTQAINFRA-1686 Change-Id: I0422ddb97eb8c11b4818771454851d19671253b1 Reviewed-by: Jędrzej Nowacki <> Reviewed-by: Ryan Chu <>