Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
dev
-
None
Description
get status reports, in the top level qt5 repo (which we should really get round to renaming to just plain qt):
Untracked files: (use "git add <file>..." to include in what will be committed) coin/provisioning/common/shared/testserver/apache2/rfc3252.txt coin/provisioning/common/shared/testserver/californium/californium-3.8.0.tar.gz coin/provisioning/common/shared/testserver/danted/dante-server_1.4.1-1_amd64.deb coin/provisioning/common/shared/testserver/freecoap/FreeCoAP-0.7.tar.gz coin/provisioning/common/shared/testserver/vsftpd/rfc3252.txt
These files are mess that developers not involved in provisioning of the test server should not have to be aware of.
Whatever is causing these to be present (I guess they're downloaded by something) should either ensure they get tidied away after the build or should add them to a relevant .gitignore file (e.g. in coin/provisioning/common/shared/testserver/).
Ideally they would be downloaded to somewhere in my build tree, leaving my source tree pristine: it should be possible to do a build from a source tree on read-only media and run tests, but files like these would break that.
These files are generated by qt5/coin/provisioning/common/shared/testserver/docker_images.sh which jimis tells me "is supposed to run on the provisioning VMs, not in your source directory." However, there are tests that don't run unless this script has been run, and that advise the developer to run this script. Even if they run the script from within their build tree, the files are added in the source tree.
The advice to run the script comes from qtbase/cmake/QtTestHelpers.cmake in function(qt_internal_setup_docker_test_fixture name, name), called by function(qt_internal_add_test, name) when its caller has set QT_TEST_SERVER_LIST, as is the case for many auto-tests under qtbase/tests/auto/network/. So it is likely the CMake support for running the test server relies on these being downloaded to the source tree; if we change the download location, that support shall need to know about where we're putting it.
Presumably the provisioning scripts, when run on Coin VMs, don't yet have a location for their build dir, so can't download these files to that. So we probably need some way to configure where the scripts download files, that also affects where the CMake config looks for them when setting up the docker server. Then Coin can use the source tree for provisioning and developers can use their build tree, to avoid polluting the source tree; hopefully, CMake can provide a way to drive that consistently. Filed QTBUG-135592 for this last.
Attachments
Issue Links
- is required for
-
QTBUG-135592 Provide a way to configure where CMake finds docker provisioning things
-
- Reported
-