qt6-bb10/tests/auto/corelib/io/qprocess
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
..
fileWriterProcess Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
test Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testBatFiles
testDetached Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testExitCodes Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testForwarding Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testForwardingHelper Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testGuiProcess Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessCrash tst_QProcess: create a more reliable crashing 2020-05-05 12:24:35 -07:00
testProcessDeadWhileReading Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessEOF Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessEcho Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessEcho2 Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessEcho3 Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessEchoGui Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessEnvironment Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessHang Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessNormal Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessOutput Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testProcessSpacesArgs Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testSetNamedPipeHandleState Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testSetWorkingDirectory Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testSoftExit Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
testSpaceInName Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
.gitignore
.prev_CMakeLists.txt Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
BLACKLIST Update for failures only on dev branch. Use general platform names 2019-08-19 18:22:11 +02:00
CMakeLists.txt Port more tests from qtbase/tests/auto/corelib/io/ to CMake 2020-05-04 19:21:15 +02:00
qprocess.pri
qprocess.pro
tst_qprocess.cpp QProcess/Unix: introduce setChildProcessModifier() 2020-09-08 21:00:29 -07:00