CMake/Source/CTest
Brad King 6a7eae7184 Rewrite CTest child output handling
This commit fixes cmCTestRunTest and cmProcess to more efficiently
handle child output.  We now use the buffer for each child output pipe
to hold at most a partial line plus one new block of data at a time.
All complete lines are scanned in-place, and then only the partial line
at the end of the buffer is moved back to the beginning before appending
new data.

We also simplify the cmProcess interface by making GetNextOutputLine the
only method that needs to be called while the process is running.  This
simplifies cmCTestRunTest so that CheckOutput can be called until it
returns false when the process is done.
2009-09-11 12:26:41 -04:00
..
cmCTestBZR.cxx BUG: Parse more bzr xml output encodings 2009-05-18 10:34:35 -04:00
cmCTestBZR.h ENH: Teach CTest to handle Bazaar repositories 2009-05-14 16:13:52 -04:00
cmCTestBatchTestHandler.cxx Added some ctest batch capabilities 2009-09-10 11:18:05 -04:00
cmCTestBatchTestHandler.h Added some ctest batch capabilities 2009-09-10 11:18:05 -04:00
cmCTestBuildAndTestHandler.cxx STYLE: fix warning 2009-06-15 14:22:13 -04:00
cmCTestBuildAndTestHandler.h ENH: support for --build-config-sample feature #1022 2007-03-19 13:04:10 -04:00
cmCTestBuildCommand.cxx BUG: Fix CTEST_USE_LAUNCHERS in dashboard scripts 2009-02-13 11:49:31 -05:00
cmCTestBuildCommand.h ENH: Document APPEND option in ctest_* commands 2009-02-20 15:51:03 -05:00
cmCTestBuildHandler.cxx Add parentheses around '&&' between '||' for gcc 2009-09-11 08:18:15 -04:00
cmCTestBuildHandler.h ENH: Teach CTest dashboard builds to use launchers 2009-02-11 15:18:08 -05:00
cmCTestCVS.cxx Fix failing test on release build for VS 10 cmSystemTools::GetLineFromStream crashes if the stream is not open in that case. 2009-08-11 16:25:56 -04:00
cmCTestCVS.h ENH: Rewrite CTest Update implementation 2009-02-25 14:42:45 -05:00
cmCTestCommand.h STYLE: Fix some style issues 2006-03-10 15:03:09 -05:00
cmCTestConfigureCommand.cxx ENH: Add OPTIONS argument to the ctest_configure command so that you can pass -D arguments to the cmake configure step from a ctest -S script. Also clarify/correct some not so helpful error messages. 2008-12-30 09:13:02 -05:00
cmCTestConfigureCommand.h ENH: Document APPEND option in ctest_* commands 2009-02-20 15:51:03 -05:00
cmCTestConfigureHandler.cxx ENH: Create cmXMLSafe to help escapes in XML 2009-02-05 16:31:37 -05:00
cmCTestConfigureHandler.h STYLE: Fix some style issues 2006-03-09 11:17:10 -05:00
cmCTestCoverageCommand.cxx BUG: Initialize ctest_coverage command ivar 2009-03-05 10:17:42 -05:00
cmCTestCoverageCommand.h BUG: Initialize ctest_coverage command ivar 2009-03-05 10:17:42 -05:00
cmCTestCoverageHandler.cxx BUG: Do not produce empty coverage log files 2009-03-11 13:31:40 -04:00
cmCTestCoverageHandler.h BUG: Avoid duplicate CTest coverage submission 2009-03-11 12:03:47 -04:00
cmCTestEmptyBinaryDirectoryCommand.cxx ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
cmCTestEmptyBinaryDirectoryCommand.h STYLE: use lower case also for the ctest-specific commands, as in cmake 2008-05-12 09:11:51 -04:00
cmCTestGIT.cxx COMP: Fix class reference for HP aCC 2009-04-22 10:22:25 -04:00
cmCTestGIT.h ENH: Teach CTest to handle git repositories 2009-04-22 09:19:06 -04:00
cmCTestGenericHandler.cxx Fixed ctest -N segfault issue. Further refactored ctest. Enabled failover for ctest 2009-08-27 10:37:30 -04:00
cmCTestGenericHandler.h ENH: Divide CTest file submission list by part 2009-01-12 10:37:55 -05:00
cmCTestGlobalVC.cxx ENH: Factor global-VC parts out of cmCTestSVN 2009-04-22 09:18:19 -04:00
cmCTestGlobalVC.h ENH: Factor global-VC parts out of cmCTestSVN 2009-04-22 09:18:19 -04:00
cmCTestHG.cxx COMP: Fix cmCTestHG for old HP compiler 2009-07-10 13:08:54 -04:00
cmCTestHG.h ENH: Teach CTest to handle Mercurial repositories 2009-07-10 11:08:05 -04:00
cmCTestHandlerCommand.cxx ENH: Teach ctest_* to create appending XML files 2009-01-12 09:11:29 -05:00
cmCTestHandlerCommand.h ENH: Document APPEND option in ctest_* commands 2009-02-20 15:51:03 -05:00
cmCTestLaunch.cxx ENH: Report file names relative to source dir 2009-02-12 13:00:22 -05:00
cmCTestLaunch.h ENH: Report file names relative to source dir 2009-02-12 13:00:22 -05:00
cmCTestMemCheckCommand.cxx STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
cmCTestMemCheckCommand.h ENH: Added PARALLEL_LEVEL option for ctest_memcheck(). Added PROCESSORS option to set_tests_properties (implementation to come). 2009-09-03 10:47:14 -04:00
cmCTestMemCheckHandler.cxx MemCheck should now work again in ctest 2009-08-28 15:08:03 -04:00
cmCTestMemCheckHandler.h MemCheck should now work again in ctest 2009-08-28 15:08:03 -04:00
cmCTestMultiProcessHandler.cxx Rewrite CTest child output handling 2009-09-11 12:26:41 -04:00
cmCTestMultiProcessHandler.h BUG: Fixed segfault and bad reporting if a ctest executable could not be found. Also added some batch testing code that is not yet complete. 2009-09-10 11:16:08 -04:00
cmCTestReadCustomFilesCommand.cxx ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
cmCTestReadCustomFilesCommand.h STYLE: use lower case also for the ctest-specific commands, as in cmake 2008-05-12 09:11:51 -04:00
cmCTestRunScriptCommand.cxx Change run_ctest_script in ctest to not stop processing when there is an error in the script being run. Also, add a RETURN_VALUE option so that you can find out if the script failed 2009-09-04 13:24:25 -04:00
cmCTestRunScriptCommand.h Change run_ctest_script in ctest to not stop processing when there is an error in the script being run. Also, add a RETURN_VALUE option so that you can find out if the script failed 2009-09-04 13:24:25 -04:00
cmCTestRunTest.cxx Rewrite CTest child output handling 2009-09-11 12:26:41 -04:00
cmCTestRunTest.h Rewrite CTest child output handling 2009-09-11 12:26:41 -04:00
cmCTestSVN.cxx Fix classification of externals in svn status 2009-08-12 08:06:57 -04:00
cmCTestSVN.h ENH: Factor global-VC parts out of cmCTestSVN 2009-04-22 09:18:19 -04:00
cmCTestScriptHandler.cxx Fix memory and process leak in ctest_run_script. 2009-09-04 17:01:47 -04:00
cmCTestScriptHandler.h Change run_ctest_script in ctest to not stop processing when there is an error in the script being run. Also, add a RETURN_VALUE option so that you can find out if the script failed 2009-09-04 13:24:25 -04:00
cmCTestSleepCommand.cxx ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
cmCTestSleepCommand.h STYLE: use lower case also for the ctest-specific commands, as in cmake 2008-05-12 09:11:51 -04:00
cmCTestStartCommand.cxx ENH: add return and break support to cmake, also change basic command invocation signature to be able to return extra informaiton via the cmExecutionStatus class 2008-01-23 10:28:26 -05:00
cmCTestStartCommand.h STYLE: use lower case also for the ctest-specific commands, as in cmake 2008-05-12 09:11:51 -04:00
cmCTestSubmitCommand.cxx ENH: Remove CTest public.kitware.com drop default 2009-05-15 15:39:43 -04:00
cmCTestSubmitCommand.h ENH: More documentation for ctest_submit command 2009-02-20 15:50:15 -05:00
cmCTestSubmitHandler.cxx Increase curl submit timeout. A submit will timeout if there are 120 seconds of very little activity. 30 seconds was too short. 2009-09-04 14:00:26 -04:00
cmCTestSubmitHandler.h ENH: add submit via cp mode 2009-03-31 15:24:50 -04:00
cmCTestTestCommand.cxx ENH: Added PARALLEL_LEVEL option to ctest_test() command. 2009-09-02 12:35:42 -04:00
cmCTestTestCommand.h Fixed warnings 2009-09-03 11:14:13 -04:00
cmCTestTestHandler.cxx BUG: Fixed segfault and bad reporting if a ctest executable could not be found. Also added some batch testing code that is not yet complete. 2009-09-10 11:16:08 -04:00
cmCTestTestHandler.h BUG: Fixed segfault and bad reporting if a ctest executable could not be found. Also added some batch testing code that is not yet complete. 2009-09-10 11:16:08 -04:00
cmCTestUpdateCommand.cxx ENH: Teach CTest to handle Mercurial repositories 2009-07-10 11:08:05 -04:00
cmCTestUpdateCommand.h BUG: Fix return value of ctest_update 2009-03-20 14:19:56 -04:00
cmCTestUpdateHandler.cxx ENH: Teach CTest to handle Mercurial repositories 2009-07-10 11:08:05 -04:00
cmCTestUpdateHandler.h ENH: Teach CTest to handle Mercurial repositories 2009-07-10 11:08:05 -04:00
cmCTestVC.cxx ENH: Refactor initial checkout into cmCTestVC 2009-02-26 09:22:32 -05:00
cmCTestVC.h ENH: Refactor initial checkout into cmCTestVC 2009-02-26 09:22:32 -05:00
cmProcess.cxx Rewrite CTest child output handling 2009-09-11 12:26:41 -04:00
cmProcess.h Rewrite CTest child output handling 2009-09-11 12:26:41 -04:00