diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2015-08-06 10:45:40 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2015-08-06 10:54:01 +0200 |
commit | 77da617dc8e378a631ee8c15b1b414f16b87f147 (patch) | |
tree | 563f4f8e64e416774ea2b1599b896b589385168c /tests/auto/corelib/io/qprocess/tst_qprocess.cpp | |
parent | c17134e2db4d364855aa78a0d3c47cb9ef964dd9 (diff) | |
parent | 01f3530650f9f6f4c08520263a3c62281d81e3fc (diff) |
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
doc/global/qt-cpp-defines.qdocconf
src/3rdparty/forkfd/forkfd.c
src/corelib/codecs/qtextcodec.cpp
src/corelib/kernel/qmetatype.cpp
src/corelib/tools/qset.qdoc
src/gui/accessible/qaccessible.cpp
src/gui/image/qpixmapcache.cpp
src/opengl/qgl.cpp
src/tools/qdoc/generator.cpp
src/widgets/kernel/qwidget.cpp
tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
Diffstat (limited to 'tests/auto/corelib/io/qprocess/tst_qprocess.cpp')
-rw-r--r-- | tests/auto/corelib/io/qprocess/tst_qprocess.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp index 02501ca9d9..0ffac21186 100644 --- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp +++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp @@ -155,6 +155,8 @@ private slots: void failToStart(); void failToStartWithWait(); void failToStartWithEventLoop(); + void failToStartEmptyArgs_data(); + void failToStartEmptyArgs(); protected slots: void readFromProcess(); @@ -1690,6 +1692,42 @@ void tst_QProcess::failToStartWithEventLoop() } } +void tst_QProcess::failToStartEmptyArgs_data() +{ + QTest::addColumn<int>("startOverload"); + QTest::newRow("start(QString, QStringList, OpenMode)") << 0; + QTest::newRow("start(QString, OpenMode)") << 1; + QTest::newRow("start(OpenMode)") << 2; +} + +void tst_QProcess::failToStartEmptyArgs() +{ + QFETCH(int, startOverload); + qRegisterMetaType<QProcess::ProcessError>("QProcess::ProcessError"); + + QProcess process; + QSignalSpy errorSpy(&process, static_cast<void (QProcess::*)(QProcess::ProcessError)>(&QProcess::error)); + QVERIFY(errorSpy.isValid()); + + switch (startOverload) { + case 0: + process.start(QString(), QStringList(), QIODevice::ReadWrite); + break; + case 1: + process.start(QString(), QIODevice::ReadWrite); + break; + case 2: + process.start(QIODevice::ReadWrite); + break; + default: + QFAIL("Unhandled QProcess::start overload."); + }; + + QVERIFY(!process.waitForStarted()); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(process.error(), QProcess::FailedToStart); +} + //----------------------------------------------------------------------------- #ifndef Q_OS_WINCE // Reading and writing to a process is not supported on Qt/CE |