Priority: P3: Somewhat important
Affects Version/s: 6.0
Fix Version/s: None
Component/s: Testing: qtestlib
tst_selftest uses QProcess to start a bunch of helper tests as external processes. After that it compares the output of the processes (stdout or file) with the expected results.
This works fine on all desktop platforms, but fails on Android (and probably on iOS as well), because Android does not seem to allow starting a new process from the application.
The attached patch (now abandoned) suggests the ugly approach with creating individual Android activities for each of the helper tests, and using JNI to start these activities. It is agreed that this approach is overcomplicated and shall not be merged.
Instead the test should be restructure (or split out) to test the QAbstractTestLogger subclasses directly using the C++ API. Some of the tests can still rely on starting a QProcess, but those tests can be explicitly QSKIP'ped on Android.
|For Gerrit Dashboard: QTBUG-88507|
|323562,2||Android: exclude faulty tst_selftests||6.0||qt/qtbase||Status: MERGED||+2||0|
|323622,2||Android: exclude faulty tst_selftests||dev||qt/qtbase||Status: MERGED||+2||0|
|400024,1||WIP: Partly enable tst_selftest on Android||dev||qt/qtbase||Status: ABANDONED||-2||0|