Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
dev
-
None
-
-
9379b634a (dev), 090acf35d (6.7), 84a9abad0 (6.6), 0b8cc04bb (tqtc/lts-6.5)
Description
On any qtbase workitem that failed on android testing, (for example this log) (EDIT: happens on other platforms too, see last comment) we go to the end and we see the failed test attempting to run 4 times. The log is chaotic, so I'm trying to break it down here:
1. One run from Ctest, prefixed with the number "408" which is the sequential id of the test. It wraps the test with qt-testrunner. The test fails to start most likely because of platform bug
2. qt-testrunner detects that as a crash and tries to re-run it only once. Still prefixed by "408" since CTest sees it as one run. This runs some testcases and then crashes, producing a truncated XML. qt-testrunner gives up. Ctest prints:
agent:2023/11/07 19:10:59 build.go:404: 408: /home/qt/work/install/libexec/qt-testrunner.py -- agent:2023/11/07 19:10:59 build.go:404: 408: /home/qt/work/install/bin/androidtestrunner --path agent:2023/11/07 19:10:59 build.go:404: 408: /home/qt/work/qt/qtbase_standalone_tests/tests/auto/widgets/kernel/qwidget/android-build agent:2023/11/07 19:10:59 build.go:404: 408: --adb /opt/android/sdk/platform-tools/adb --skip-install-root --make agent:2023/11/07 19:10:59 build.go:404: 408: /opt/cmake-3.24.2/bin/cmake --build agent:2023/11/07 19:10:59 build.go:404: 408: /home/qt/work/qt/qtbase_standalone_tests --target tst_qwidget_make_apk agent:2023/11/07 19:10:59 build.go:404: 408: --apk agent:2023/11/07 19:10:59 build.go:404: 408: /home/qt/work/qt/qtbase_standalone_tests/tests/auto/widgets/kernel/qwidget/android-build/tst_qwidget.apk agent:2023/11/07 19:10:59 build.go:404: 408: --timeout -1 --verbose execution failed with exit code 3. agent:2023/11/07 19:10:59 build.go:404: 408: agent:2023/11/07 19:10:59 build.go:404: 408:
Followed by a footer
agent:2023/11/07 19:10:59 build.go:404: 408/474 Test #408: tst_qwidget .....................................***Failed 215.23 sec
3. CTest starts another run, identical to the previous one. It's again wrapped by qt-testrunner. The only thing different is it's not prefixed by "408". Again it fails to start
4. Same as before, qt-testrunner detects that as a crash and re-runs it only once. Again it runs some testcases and then crashes producing a corrupt XML file. It prints the same message as before, but with a different footer
agent:2023/11/07 19:10:59 build.go:404: 99% tests passed, 1 tests failed out of 408
Attachments
For Gerrit Dashboard: QTBUG-118983 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
526267,1 | WIP: CMake: Try to get a VM where ctest reruns test case twice | dev | qt/qtbase | Status: ABANDONED | -2 | 0 |
542393,2 | Print output of failed tests only once | dev | qt/qtbase | Status: MERGED | +2 | 0 |
543303,2 | Print output of failed tests only once | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
543354,2 | Print output of failed tests only once | 6.6 | qt/qtbase | Status: MERGED | +2 | 0 |
543458,2 | Print output of failed tests only once | tqtc/lts-6.5 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |