summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/io/qprocess
Commit message (Collapse)AuthorAgeFilesLines
* Replace win32-g++ with mingw scopeKai Koehne2014-01-171-1/+1
| | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QProcess/Win: allow child processes to change modes of the stdin pipeJoerg Bornemann2013-12-104-1/+71
| | | | | | | | | | | | | | | | | | | | To be able to call SetNamedPipeHandleState on stdin in a child process, we must create a read-end pipe handle with the FILE_WRITE_ATTRIBUTES flag set. This can't be done with CreateNamedPipe but only with CreateFile. Therefore we're creating the handles for the child process always with CreateFile now. Besides, it's conceptually cleaner to have the server handle of the named pipe in the calling process. [ChangeLog][QtCore][Windows] Fix regression from Qt4 in QProcess. It wasn't possible anymore to alter pipe modes of stdin in child processes. Task-number: QTBUG-35357 Change-Id: I85f09753d0c924bdc8a6cef1ea5dbe6b2299c604 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix Windows CE commentsJoerg Bornemann2013-12-091-2/+1
| | | | | Change-Id: Ib42c456c236f59727dddd6a111dfe0946fff1aef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* add QProcess::InputChannelModeOswald Buddenhagen2013-09-052-7/+19
| | | | | | | | | | | this enables forwarding standard input from the parent process. Change-Id: I7ee72b9842acc96320d4da693b95dd15d9a7b4d4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* add QProcess::Forwarded{Output,Error}ChannelOswald Buddenhagen2013-09-052-9/+43
| | | | | | | Change-Id: Ifc5ed20c38f3228ef25c28681f296d0456b61abe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* fix warnings - qprocess needs a qcoreapp instanceOswald Buddenhagen2013-09-051-1/+4
| | | | | Change-Id: Icf36c2e76595d8f2ed470da13e78c465cfa962f9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* remove redundant forwardedChannels() testOswald Buddenhagen2013-09-051-21/+0
| | | | | | | | | forwardedChannelsOutput() actually tests forwarding. also having the older test only eats CPU cycles. rename the new test to the old name for clarity. Change-Id: I16a326c8692bb594d7df7897bc53d31b23c66d90 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* make error reporting in forwardedChannelsOutput test more usefulOswald Buddenhagen2013-09-052-6/+16
| | | | | Change-Id: I0350ddfd6740d2a2cd3e0f49220cdaa83b854abf Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* micro-optimization/-clarificationOswald Buddenhagen2013-09-051-4/+4
| | | | | | | | | close stdin and let the process finish right away instead of first waiting for a reaction (which is not supposed to come) and then finishing. Change-Id: Ifcf200eead5ed95217843e105f9d2dbb5398d646 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* add QProcess::nullDevice()Oswald Buddenhagen2013-08-301-0/+25
| | | | | | Change-Id: I15273fa3f3ba323a835350153f2a20404f12420b Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix crash in QProcess::waitForStarted() on Unix.Christian Strømme2013-08-131-0/+7
| | | | | | | | | | | | Invoking waitForStarted() on a QProcess before or after an unsuccessful call to start() (e.g., with an empty command), would execute FD_SET with an invalid file descriptor and cause the process to abort. The bug can be reliably reproduced on OSX. Task-number: QTBUG-32958 Change-Id: Id25b7781168489281645e21571361ca1a71d43e3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix incomplete override of QIODevice::open in QProcess and QLocalSocketThiago Macieira2013-07-201-0/+20
| | | | | | | | | | | | | | | | | | | The rule for a new override is that it must still work if the old implementation is called. The catch is that any class that derives from QProcess and isn't recompiled will still have QIODevice::open in its virtual table. That is equivalent to overriding open() and calling QIODevice::open() (like the tests). In Qt 5.0, QProcess::start() called QIODevice::open directly, not the virtual open(), so there's no expectation that a user-overridden open() be called. With that in mind, simply fix QProcess::start to not call the virtual open at all. Similarly with QLocalSocket, the calls to open were always non-virtual. Task-number: QTBUG-32284 Change-Id: I88925f0ba08bc23c849658b54582744997e69a4c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* remove wait calls in tst_QProcess::simpleStartJoerg Bornemann2013-07-021-9/+1
| | | | | | | | | Instead of calling different wait functions on different platforms, we use QTRY_COMPARE to check the process state. Change-Id: I6489cabce9e63f9c8b1036f3cccbf35b52df72e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* QProcess/Win: drain output pipes on process finishJoerg Bornemann2013-05-071-0/+34
| | | | | | | | | | | | If a process dies before all output is read into the internal buffer of QProcess, we might lose data. Therefore we must drain the output pipes like we already do in the synchronous wait functions. Task-number: QTBUG-30843 Change-Id: I8bbc5265275c9ebd33218ba600267ae87d93ed61 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-163-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make QProcess startable with open()Corentin Jabot2013-03-051-0/+20
| | | | | | | | | | Add setProgram() and setArguments() methods to the QProcess api. Add a convenient start(QIODevice::OpenMode) method. Move the implementation of QProcess::start() to QProcess::open() unifying the QProcess api with other QIODevice subclasses. Change-Id: Id1af57da05f750fe8d526d391589c05ee8037bca Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-02-141-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/concurrent/doc/qtconcurrent.qdocconf src/corelib/doc/qtcore.qdocconf src/corelib/global/qglobal.h src/dbus/doc/qtdbus.qdocconf src/dbus/qdbusmessage.h src/gui/doc/qtgui.qdocconf src/gui/image/qimagereader.cpp src/network/doc/qtnetwork.qdocconf src/opengl/doc/qtopengl.qdocconf src/opengl/qgl.h src/plugins/platforms/windows/qwindowswindow.cpp src/printsupport/doc/qtprintsupport.qdocconf src/sql/doc/qtsql.qdocconf src/testlib/doc/qttestlib.qdocconf src/tools/qdoc/doc/config/qt-cpp-ignore.qdocconf src/widgets/doc/qtwidgets.qdocconf src/xml/doc/qtxml.qdocconf Change-Id: Ie9a1fa2cc44bec22a0b942e817a1095ca3414629
| * Make the null pointer dereference a volatile oneThiago Macieira2013-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is to ensure that the compiler won't optimise it out of existence. Clang says it will do it: testProcessCrash/main.cpp:50:5: warning: indirection of non-volatile null pointer will be deleted, not trap [-Wnull-dereference] *(char*)0 = 0; ^~~~~~~~~ Change-Id: Iac7771046442f869e205e8789fffdd6443d58e67 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | qprocess autotests don't need QtGuiDavid Faure2013-02-097-0/+7
| | | | | | | | | | | | | | | | (this isn't true of -all- corelib/ autotests though, e.g. tst_qdatastream uses QBitmap) Change-Id: I314fda5d85d45cb5eece8da74156989b83cf0299 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-01-2221-21/+21
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qsavefile_p.h src/corelib/tools/qregularexpression.cpp src/gui/util/qvalidator.cpp src/gui/util/qvalidator.h Change-Id: I58fdf0358bd86e2fad5d9ad0556f3d3f1f535825
| * Update copyright year in Digia's license headersSergio Ahumada2013-01-1821-21/+21
| | | | | | | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Clean up some metatype declarations and registrationsStephen Kelly2013-01-091-1/+0
|/ | | | | Change-Id: I0826f6502cc45279f29f248f5f28f4fc9e6c8b4e Reviewed-by: David Faure <david.faure@kdab.com>
* Tests: Remove declaration of built-in and automatic metatypes.Stephen Kelly2013-01-061-1/+0
| | | | | | | | These types are either built-in or 'automatically declared' and so don't need to be explicitly declared as metatypes. Change-Id: Ifd116dee32a450ff89a9a1011e26b434765d6e95 Reviewed-by: David Faure <david.faure@kdab.com>
* add and use qtHaveModule() functionOswald Buddenhagen2012-12-211-1/+1
| | | | | | | | | | | this is much more elegant than the so far propagated !isEmpty(QT.foo.name). also replace feature-specific tests (no-gui and no-widgets) and the obsolete contains(QT_CONFIG, foo) syntax. Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix some typos in QProcess and QSslSocket unit tests.Stephen Kelly2012-12-041-2/+2
| | | | | | | | The QSslSocket one is both wrong and redundant as there is a Q_DECLARE_METATYPE for it already. Change-Id: I63d065abfb3d0e3d82a8b1f29a6752b7676db847 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* fix error handling bug in QWindowsPipeReaderJoerg Bornemann2012-11-021-1/+0
| | | | | | | | | | | | If ReadFile returns with an error then we must set our internal state accordingly. QWindowsPipeReader::readSequenceStarted must be set to false. If ReadFile fails, we're not within a read sequence. Also, we must handle the ERROR_BROKEN_PIPE error. Task-number: QTBUG-25342 Change-Id: Ic9247f170fa9cc47fa7e45d0f47ccfedac06a593 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix tst_QProcess::batFiles for shadow buildsJoerg Bornemann2012-11-021-2/+2
| | | | | Change-Id: If7a9c9aa6ba16b7744d8ef8a66b43e40f375b5e7 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Test: refactor tst_QProcessCaroline Chao2012-10-292-164/+142
| | | | | | | | | | | | Remove QSKIP and instead omit the whole tests when appropriate. Remove QSKIP from crashTest, crashTest2 and exitStatus on Windows, the tests are now passing. Add a guard in testForwarding to check if QT_NO_PROCESS is defined. Change-Id: Icba4d773315e3bf87764a381742168b51cf169c0 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* normalise signal/slot signatures [QtCore tests]Marc Mutz2012-10-221-9/+9
| | | | | | | | | | Normalise all signal/slot signatures in tests/*/corelib, except in tst_QObject, where they might be test data. Change-Id: Id4e101f285b1676bb583b0afae06d235e599e24b Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* test: Moving tst_QProcess::echoTest_performance()Sergio Ahumada2012-10-195-115/+0
| | | | | | | | | tst_QProcess::echoTest_performance() is not an unit test but a performance test, so moving it from 'tests/auto/corelib/io/qprocess' to 'tests/benchmarks/corelib/io/qprocess' Change-Id: I796788534eafc5ca3b8d86c0ec46998285fd4b8f Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* QProcess.tests: adding test for channel forwardingThomas Hartmann2012-10-024-0/+89
| | | | | | | | | | This tests QProcess::setProcessChannelMode(). The tests verifies if testForwarding really forwards the output of testProcessEcho (spawned by testForwarding). Change-Id: Ifc4164569256aeaeab0edef42116986272362c01 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-2221-521/+521
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* remove mentions of borland from project filesOswald Buddenhagen2012-09-192-2/+2
| | | | | Change-Id: I3049b24ae287bee50aca1de06664a2309df69edf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Set the Qt API level to compatibility mode in all tests.Thiago Macieira2012-08-0122-0/+22
| | | | | | | | | | | Qt 5.0 beta requires changing the default to the 5.0 API, disabling the deprecated code. However, tests should test (and often do) the compatibility API too, so turn it back on. Task-number: QTBUG-25053 Change-Id: I8129c3ef3cb58541c95a32d083850d9e7f768927 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* fix object file name clashOswald Buddenhagen2012-07-163-0/+3
| | | | | | | under extremely rare circumstances this would have actually failed Change-Id: I4132d0f82e9f924e92e9e96f6d34451c94a67201 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Fix small problems with tst_QProcessThiago Macieira2012-07-121-3/+4
| | | | | | | | | | | | | | Remember to register the metatype where we use it, so we don't depend on another test being run previously. And skip the setWorkingDirectory test completely on Unix. I don't know why it needs to be skipped, but if we're not going to verify anything, don't even try to do anything. This saves us one memory leak at least. Change-Id: I22e151cc3fa7b4e976972aca8978b88b263d9bee Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Avoid load(testcase) for installing test helper appsRohan McGovern2012-07-041-6/+6
| | | | | | | | | | | | Make test projects declare TEST_HELPER_INSTALLS rather than calling a function exported by testcase.prf. load(testcase) may be unsafe, as testcase.prf should be processed after default_post.prf. Fixes silent disabling of various autotests. Change-Id: I56b35ffd653a637ad5ab18d64dd1a1edadfac59f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com>
* Fixed several unit tests to work in shadow buildsKurt Korbatits2012-06-291-0/+1
| | | | | | | | - qlogging, qthreadstorage, qnetworkreply, qapplication, qfile, qprocess Added app_bundle and debug_and_release_target to CONFIG Change-Id: I6212902c449520dc016da9590149a423069cc38c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Make qprocess autotest build without widgetsKent Hansen2012-06-072-0/+5
| | | | | Change-Id: I0a428852222accbea8446ba1c284f1c44b9d4bf3 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Marked tst_qprocess as parallel-safeRohan McGovern2012-05-301-0/+1
| | | | | | | | | | This autotest appears to be parallel-safe. It fails our parallel stress test, but only because it writes to its own build directory. This should not interfere with other autotests. Change-Id: Ie99dde24edc0fda0c8ec4352a6e44abb7cbc54f8 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Marked tst_qprocess insignificant on macRohan McGovern2012-05-281-0/+1
| | | | | | | | | tst_qprocess::lockupsInStartDetached sometimes locks up on mac. Mark this as a known issue. Task-number: QTBUG-25895 Change-Id: I08b1bcf39f2bf373e74509a06415d9ba514b8993 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Remove capitalization when specifying include-libraries.kb2012-05-142-2/+2
| | | | | | | | | | | | | MinGW installations on case-sensitive filesystems expect lowercase names of include-libraries and (usually) include files. When crosscompiling on Debian 6 (targeting MS Windows) linking fails because mingw is looking for non-existent include-libraries. Using lowercase names solves this. Change-Id: Id3454f4ed8ba42b6ea93d65d9c0ce567db6712df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Don't use obsolete qVariantValue, qVariantCanConvert, etc.Debao Zhang2012-05-021-8/+8
| | | | | | | | | | qVariantValue and qVariantCanConvert are Compatibility members, while in Qt4.8 they are marked as Qt 3 Support Members. qVariantFromValue and qVariantSetValue are Obsolete members. Change-Id: Ie8505cad1e0950e40c6f6710fde9f6fb2ac670fd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Really marked tst_QProcess as insignificant on Windows.Rohan McGovern2012-04-191-1/+3
| | | | | | | | | | | | | This test hangs ~2.6% of the time in CI. The previous commit which attempted to mark this test as insignificant did not work due to this .pro file doing a load(testcase) prior to the line which set CONFIG += insignificant_test. testcase.prf must be loaded _after_ insignificant_test is set. Task-number: QTBUG-25342 Change-Id: I20470337fda8235e2fd0b6e8d5f564c8c57d167e Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Marked tst_QProcess as insignificant on Windows.Rohan McGovern2012-04-171-0/+2
| | | | | | | | This test hangs ~2.6% of the time in CI. Task-number: QTBUG-25342 Change-Id: I2c3531140e15edfe2dc2524e101b84e3206a4e61 Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
* Fix MSVC warnings in tests.Friedemann Kleint2012-04-021-5/+5
| | | | | | | | | - Unused variables - conversion truncations - Overflow in expressions like '-1 + sizeof()' Change-Id: Ibbd18497951e9e7e9dccaf596cb4e864b69ec02c Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Remove "All rights reserved" line from license headers.Jason McDonald2012-01-3021-21/+21
| | | | | | | | | | As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: I311e001373776812699d6efc045b5f742890c689 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Update contact information in license headers.Jason McDonald2012-01-2321-21/+21
| | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I431bbbf76d7c27d8b502f87947675c116994c415 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* make tst_QProcess::softExitInSlots pass in under 120 secondsJoerg Bornemann2012-01-201-3/+24
| | | | | | | | | | Due to unconditional waits this test always needed 120 seconds to pass. Now we're using QTRY_VERIFY and make sure that we write the data before the process got killed even in the cases 3 and 4. On my machine this test now takes 8 seconds. Change-Id: I606a8b43ba4c97704be5202a6c5d8d1c75337f9c Reviewed-by: Bill King <bill.king@nokia.com>
* Changed qprocess unittest to work from installation directory.Kurt Korbatits2012-01-1625-233/+44
| | | | | | | | | | | - All subprograms installed as part of test instead of separate installs using installTestHelperApp() from testcase.prf - Removed use of app_bundle for subprograms Change-Id: I0a3de021800d36bd48479f63588b09fc7e60f32f Reviewed-by: Kurt Korbatits <kurt.korbatits@nokia.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>