https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: games-strategy/freeorion-0.5 fails tests. Discovered on: amd64 (internal ref: ci)
CC'ing also the author of the commit (caf3802e7acd436a4a2c2b6bc2991921194b51e4)
Created attachment 859803 [details] build.log build log and emerge --info
Created attachment 859804 [details] 1-LastTest.log 1-LastTest.log
Error(s) that match a know pattern: 2 - TestPythonParser (Failed) 3 - SmokeTestGame (Failed) 4 - SmokeTestHostless (Failed) -- Could NOT find CPPCheck (missing: CPPCHECK_EXECUTABLE) -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Could NOT find Flake8 (missing: FLAKE8_EXECUTABLE) fatal: not a git repository (or any parent up to mount point /var/tmp)
I suppose it happends because we call tests on CI with `cmake --build . --target unittest` which calls each test in separate process while here binaries with multiple tests are called once, which leads to issues with multiple initialization of global variables.
Re CPPCheck, Flake8 They are testing code quality, and probably the check/ subdir should be disabled altogether in the ebuild. This is only useful for upstream CI. > fatal: not a git repository (or any parent up to mount point /var/tmp) This is an internal output of git which is run by cmake/make_versioncpp.py, and its failure is ignored by the script. > cmake --build . --target unittest Here it's called like this: ctest -j 43 --test-load 999 -j1, which still produces multiple binaries (gg_unittest, fo_unittest_parse, fo_unittest_util, fo_systemtest_game), not one.
Tried to reproduce this (about to bump 0.5.0.1) but can't reproduce with either 0.5 nor 0.5.0.1 (everything passes). Is there something obvious I'm missing to reproduce given this "CONFIRMED"? Is it just a race despite -j1 and I'm just not hitting it?
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1d963d8e8907e5c9d3ddc2795b6266e3c13b6368 commit 1d963d8e8907e5c9d3ddc2795b6266e3c13b6368 Author: Ionen Wolkens <ionen@gentoo.org> AuthorDate: 2024-05-05 22:10:24 +0000 Commit: Ionen Wolkens <ionen@gentoo.org> CommitDate: 2024-05-05 23:43:47 +0000 games-strategy/freeorion: add 0.5.0.1, enable py3.12 Tests pass (for me) with all python versions, albeit there is bug #904124 that implies they may not and unsure what it is about. Will see if CI can reproduce again with this I guess. Other changes: - replace ccache patch by a cmake option - drop the check directory wrt bug #904124 to ensure no flaky behavior if dependencies are found - filter-lto for now due to: DesignWnd.cpp:43:8: error: type 'struct Availability' violates the C++ One Definition Rule (this was an issue in 0.5 as well) Bug: https://bugs.gentoo.org/904124 Closes: https://bugs.gentoo.org/929597 Signed-off-by: Ionen Wolkens <ionen@gentoo.org> games-strategy/freeorion/Manifest | 1 + games-strategy/freeorion/freeorion-0.5.0.1.ebuild | 119 ++++++++++++++++++++++ 2 files changed, 120 insertions(+)