qt5base-lts/tests/auto/corelib/io
Thiago Macieira 7e93870401 QProcess/Unix: introduce setChildProcessModifier()
[ChangeLog][Source-Incompatible Changes] QProcess::setupChildProcess()
was removed. To execute code in a child process, use
QProcess::setChildProcessModifier()

[ChangeLog][QtCore][QProcess] Added setChildProcessModifier() function
with which one can provide code to be run in the Unix child process
between fork() and execve(). With this function, it is no longer
necessary to derive from QProcess in order to execute actions in the
child process.

Another reason is that we can tell whether the std::function carries a
valid target much more easily than we can tell whether QProcess was
overridden.

The setupChildProcess() virtual function does not need to be marked
final, since no overrider could ever return an inaccessible private
class. This also makes sure the error presented to the user is about the
return type, not about attempting to override a final.

Clang:
 error: virtual function 'f' has a different return type ('void') than the function it overrides (which has return type 'QProcess::Use_setChildProcessModifier_Instead')

GCC:
 error: conflicting return type specified for 'virtual void MyProcess::setupChildProcess()'
 note: overridden function is 'virtual QProcess::Use_setChildProcessModifier_Instead QProcess::setupChildProcess()'

ICC:
 error: return type is neither identical to nor covariant with return type "QProcess::Use_setChildProcessModifier_Instead" of overridden virtual function "QProcess::setupChildProcess"

MSVC is not relevant since it doesn't compile to Unix.

Change-Id: Ia8b65350cd5d49debca9fffd15f801161363aea7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-09-08 21:00:29 -07:00
..
largefile CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qabstractfileengine CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qbuffer CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdataurl CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdebug Move QStringRef and remains to Qt5Compat 2020-08-20 00:58:13 +02:00
qdir Disable warning about self-move and self-assign-overload 2020-07-26 18:06:34 +02:00
qdiriterator CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qfile CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
qfileinfo QFileInfo: purge deprecated API 2020-08-07 17:44:51 +02:00
qfileselector Remove winrt 2020-06-06 20:25:49 +02:00
qfilesystementry CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qfilesystemmetadata CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qfilesystemwatcher CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qiodevice CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qipaddress CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qlockfile CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
qloggingcategory CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qloggingregistry CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qnodebug CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qprocess QProcess/Unix: introduce setChildProcessModifier() 2020-09-08 21:00:29 -07:00
qprocess-noapplication CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qprocessenvironment CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qresourceengine Purge QResource of some deprecated API 2020-08-07 17:44:13 +02:00
qsavefile CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qsettings Implement QMetaType::canConvert() and use it in QVariant 2020-08-24 00:18:24 +02:00
qstandardpaths QStandardPaths/Unix: improve the XDG_RUNTIME_DIR creation/detection 2020-08-25 16:13:44 -07:00
qstorageinfo CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qtemporarydir CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qtemporaryfile Fix test with cmake build 2020-08-16 11:53:29 +02:00
qurl QUrl: purge deprecated API 2020-07-20 16:06:28 +02:00
qurlinternal Purge redundant recoding of URL fragments from QByteArray 2020-07-27 11:25:49 +02:00
qurlquery CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
.prev_CMakeLists.txt Remove winrt 2020-06-06 20:25:49 +02:00
CMakeLists.txt CMake: Skip building tst_qprocess test when cross compiling 2020-06-26 14:54:32 +02:00
io.pro Remove winrt 2020-06-06 20:25:49 +02:00