[Cmake-commits] CMake branch, next, updated. v3.6.0-rc3-642-g4c20291

Brad King brad.king at kitware.com
Wed Jun 29 11:04:13 EDT 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  4c202912b77571d5a1e1e6b78b345ee0901fc475 (commit)
       via  78f240b14508f0410dc81fcea285a88adffec8fc (commit)
       via  08fba24802e8db6b1769ce43c85d481571902239 (commit)
       via  4572d36b1eb9527a7a23e7d777b1b7a5227bc960 (commit)
       via  f4613f70efb1762d6ce69ba3066186a1cd3e53a3 (commit)
       via  2aa8e005a3f6e2fa357f5d11549a609213f738e5 (commit)
       via  ee6edc8a23c67c90844ab00ae4f49cf6764c8fd7 (commit)
       via  7e95a34b611d999af534ffcc40f08f675bba5a1c (commit)
       via  2110a7afb53b91c35bec0007fb7973bf204436d9 (commit)
       via  b809547abb3d4afdce3a5e64021f4bc81d6aef37 (commit)
       via  5836fda70dc97328a920ff32c0676a2e8da767e7 (commit)
       via  6af458cedec9585ce13d3afc3ff78f1683343e38 (commit)
      from  4e7bb44e4d6ba33cd5495913f73985f5b6d80825 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4c202912b77571d5a1e1e6b78b345ee0901fc475
commit 4c202912b77571d5a1e1e6b78b345ee0901fc475
Merge: 4e7bb44 78f240b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Jun 29 11:04:09 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jun 29 11:04:09 2016 -0400

    Merge topic 'reorganize-cmCTest' into next
    
    78f240b1 Help: Fix documentation of ctest --build-and-test
    08fba248 Help: Consistently use quotes and fix punctuation in ctest(1) manual
    4572d36b doxygen: Introduce \cm_manual alias to reference manual from within doxygen
    f4613f70 doxygen: Teach doc_makeall.sh how to skip cleaning of intermediate files
    2aa8e005 cmCTest: Improve doxygen for Part and Model enums
    ee6edc8a cmCTest: Update doxygen to be consistent
    7e95a34b cmCTest: Rename "ProcessTests()" to "ProcessSteps()" and improve doxygen
    2110a7af cmCTest: Facilitate code reading adding consistent comments in Run()
    b809547a cmCTest: Improve readability adding "HandleTest(Action|Model)Argument()"
    5836fda7 cmCTest: Improve readability adding "RunCMakeAndTest()" and "ExecuteTests()"
    6af458ce cmCTest: Fix typo


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=78f240b14508f0410dc81fcea285a88adffec8fc
commit 78f240b14508f0410dc81fcea285a88adffec8fc
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Thu May 5 10:21:52 2016 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jun 29 11:01:10 2016 -0400

    Help: Fix documentation of ctest --build-and-test
    
    Since commit v3.0.0-rc1~260^2~14 (ctest: Make the --build-makeprogram
    optional for --build-and-test, 2013-11-14), binary dictionary is also
    required to run CTest given the option `--build-nocmake`.

diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst
index 04b1d01..ce81578 100644
--- a/Help/manual/ctest.1.rst
+++ b/Help/manual/ctest.1.rst
@@ -233,14 +233,13 @@ Options
  label associated with the tests run.  If there are no labels on the
  tests, nothing extra is printed.
 
-``--build-and-test``
+``--build-and-test <path-to-source> <path-to-build>``
  Configure, build and run a test.
 
  This option tells ctest to configure (i.e.  run cmake on), build,
  and or execute a test.  The configure and test steps are optional.
  The arguments to this command line are the source and binary
- directories.  By default this will run CMake on the Source/Bin
- directories specified unless ``--build-nocmake`` is specified.
+ directories.
  The ``--build-generator`` option *must* be provided to use
  ``--build-and-test``.  If ``--test-command`` is specified then that will be
  run after the build is complete.  Other options that affect this

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=08fba24802e8db6b1769ce43c85d481571902239
commit 08fba24802e8db6b1769ce43c85d481571902239
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Wed May 4 22:32:45 2016 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jun 29 11:01:10 2016 -0400

    Help: Consistently use quotes and fix punctuation in ctest(1) manual

diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst
index e797333..04b1d01 100644
--- a/Help/manual/ctest.1.rst
+++ b/Help/manual/ctest.1.rst
@@ -56,7 +56,7 @@ Options
  Enable failover.
 
  This option allows ctest to resume a test set execution that was
- previously interrupted.  If no interruption occurred, the -F option
+ previously interrupted.  If no interruption occurred, the ``-F`` option
  will have no effect.
 
 ``-j <jobs>, --parallel <jobs>``
@@ -77,12 +77,12 @@ Options
  Make ctest quiet.
 
  This option will suppress all the output.  The output log file will
- still be generated if the --output-log is specified.  Options such
- as --verbose, --extra-verbose, and --debug are ignored if --quiet is
- specified.
+ still be generated if the ``--output-log`` is specified.  Options such
+ as ``--verbose``, ``--extra-verbose``, and ``--debug`` are ignored
+ if ``--quiet`` is specified.
 
 ``-O <file>, --output-log <file>``
- Output to log file
+ Output to log file.
 
  This option tells ctest to write all its output to a log file.
 
@@ -90,7 +90,7 @@ Options
  Disable actual execution of tests.
 
  This option tells ctest to list the tests that would be run but not
- actually run them.  Useful in conjunction with the -R and -E
+ actually run them.  Useful in conjunction with the ``-R`` and ``-E``
  options.
 
 ``-L <regex>, --label-regex <regex>``
@@ -118,7 +118,7 @@ Options
  given regular expression.
 
 ``-D <dashboard>, --dashboard <dashboard>``
- Execute dashboard test
+ Execute dashboard test.
 
  This option tells ctest to act as a CDash client and perform a
  dashboard test.  All tests are <Mode><Test>, where Mode can be
@@ -126,26 +126,27 @@ Options
  Update, Configure, Build, Test, Coverage, and Submit.
 
 ``-D <var>:<type>=<value>``
- Define a variable for script mode
+ Define a variable for script mode.
 
  Pass in variable values on the command line.  Use in conjunction
- with -S to pass variable values to a dashboard script.  Parsing -D
+ with ``-S`` to pass variable values to a dashboard script.  Parsing ``-D``
  arguments as variable values is only attempted if the value
- following -D does not match any of the known dashboard types.
+ following ``-D`` does not match any of the known dashboard types.
 
 ``-M <model>, --test-model <model>``
- Sets the model for a dashboard
+ Sets the model for a dashboard.
 
- This option tells ctest to act as a CDash client where the TestModel
- can be Experimental, Nightly, and Continuous.  Combining -M and -T
- is similar to -D
+ This option tells ctest to act as a CDash client where the ``<model>``
+ can be ``Experimental``, ``Nightly``, and ``Continuous``.
+ Combining ``-M`` and ``-T`` is similar to ``-D``.
 
 ``-T <action>, --test-action <action>``
- Sets the dashboard action to perform
+ Sets the dashboard action to perform.
 
  This option tells ctest to act as a CDash client and perform some
- action such as start, build, test etc.  Combining -M and -T is
- similar to -D
+ action such as ``start``, ``build``, ``test`` etc. See
+ `Dashboard Client Steps`_ for the full list of actions.
+ Combining ``-M`` and ``-T`` is similar to ``-D``.
 
 ``--track <track>``
  Specify the track to submit dashboard to
@@ -156,24 +157,24 @@ Options
  arbitrary.
 
 ``-S <script>, --script <script>``
- Execute a dashboard for a configuration
+ Execute a dashboard for a configuration.
 
  This option tells ctest to load in a configuration script which sets
  a number of parameters such as the binary and source directories.
  Then ctest will do what is required to create and run a dashboard.
- This option basically sets up a dashboard and then runs ctest -D
+ This option basically sets up a dashboard and then runs ``ctest -D``
  with the appropriate options.
 
 ``-SP <script>, --script-new-process <script>``
- Execute a dashboard for a configuration
+ Execute a dashboard for a configuration.
 
- This option does the same operations as -S but it will do them in a
+ This option does the same operations as ``-S`` but it will do them in a
  separate process.  This is primarily useful in cases where the
  script may modify the environment and you do not want the modified
- environment to impact other -S scripts.
+ environment to impact other ``-S`` scripts.
 
 ``-A <file>, --add-notes <file>``
- Add a notes file with submission
+ Add a notes file with submission.
 
  This option tells ctest to include a notes file when submitting
  dashboard.
@@ -188,19 +189,19 @@ Options
  contains the same syntax as the command line.
 
 ``-U, --union``
- Take the Union of -I and -R
+ Take the Union of ``-I`` and ``-R``.
 
- When both -R and -I are specified by default the intersection of
- tests are run.  By specifying -U the union of tests is run instead.
+ When both ``-R`` and ``-I`` are specified by default the intersection of
+ tests are run.  By specifying ``-U`` the union of tests is run instead.
 
 ``--rerun-failed``
- Run only the tests that failed previously
+ Run only the tests that failed previously.
 
  This option tells ctest to perform only the tests that failed during
  its previous run.  When this option is specified, ctest ignores all
- other options intended to modify the list of tests to run (-L, -R,
- -E, -LE, -I, etc).  In the event that CTest runs and no tests fail,
- subsequent calls to ctest with the --rerun-failed option will run
+ other options intended to modify the list of tests to run (``-L``, ``-R``,
+ ``-E``, ``-LE``, ``-I``, etc).  In the event that CTest runs and no tests
+ fail, subsequent calls to ctest with the ``--rerun-failed`` option will run
  the set of tests that most recently failed (if any).
 
 ``--repeat-until-fail <n>``
@@ -209,7 +210,7 @@ Options
  This is useful in finding sporadic failures in test cases.
 
 ``--max-width <width>``
- Set the max width for a test name to output
+ Set the max width for a test name to output.
 
  Set the maximum width for each test name to show in the output.
  This allows the user to widen the output to avoid clipping the test
@@ -239,19 +240,19 @@ Options
  and or execute a test.  The configure and test steps are optional.
  The arguments to this command line are the source and binary
  directories.  By default this will run CMake on the Source/Bin
- directories specified unless --build-nocmake is specified.
- The --build-generator option *must* be provided to use
- --build-and-test.  If --test-command is specified then that will be
+ directories specified unless ``--build-nocmake`` is specified.
+ The ``--build-generator`` option *must* be provided to use
+ ``--build-and-test``.  If ``--test-command`` is specified then that will be
  run after the build is complete.  Other options that affect this
- mode are --build-target --build-nocmake, --build-run-dir,
- --build-two-config, --build-exe-dir,
- --build-project,--build-noclean, --build-options
+ mode are ``--build-target``, ``--build-nocmake``, ``--build-run-dir``,
+ ``--build-two-config``, ``--build-exe-dir``,
+ ``--build-project``, ``--build-noclean`` and ``--build-options``.
 
 ``--build-target``
  Specify a specific target to build.
 
- This option goes with the --build-and-test option, if left out the
- all target is built.
+ This option goes with the ``--build-and-test`` option, if left out the
+ ``all`` target is built.
 
 ``--build-nocmake``
  Run the build without running cmake first.
@@ -264,13 +265,13 @@ Options
  Directory where programs will be after it has been compiled.
 
 ``--build-two-config``
- Run CMake twice
+ Run CMake twice.
 
 ``--build-exe-dir``
  Specify the directory for the executable.
 
 ``--build-generator``
- Specify the generator to use.
+ Specify the generator to use. See the :manual:`cmake-generators(7)` manual.
 
 ``--build-generator-platform``
  Specify the generator-specific platform.
@@ -288,25 +289,23 @@ Options
  Skip the make clean step.
 
 ``--build-config-sample``
- A sample executable to use to determine the configuration
-
  A sample executable to use to determine the configuration that
- should be used.  e.g.  Debug/Release/etc
+ should be used.  e.g.  Debug/Release/etc.
 
 ``--build-options``
  Add extra options to the build step.
 
  This option must be the last option with the exception of
- --test-command
+ ``--test-command``
 
 ``--test-command``
- The test to run with the --build-and-test option.
+ The test to run with the ``--build-and-test`` option.
 
 ``--test-output-size-passed <size>``
- Limit the output for passed tests to <size> bytes.
+ Limit the output for passed tests to ``<size>`` bytes.
 
 ``--test-output-size-failed <size>``
- Limit the output for failed tests to <size> bytes.
+ Limit the output for failed tests to ``<size>`` bytes.
 
 ``--test-timeout``
  The time limit in seconds, internal use only.
@@ -335,14 +334,14 @@ Options
  This option will submit extra files to the dashboard.
 
 ``--force-new-ctest-process``
- Run child CTest instances as new processes
+ Run child CTest instances as new processes.
 
  By default CTest will run child CTest instances within the same
  process.  If this behavior is not desired, this argument will
  enforce new processes for child CTest processes.
 
 ``--schedule-random``
- Use a random order for scheduling tests
+ Use a random order for scheduling tests.
 
  This option will run the tests in a random order.  It is commonly
  used to detect implicit dependencies in a test suite.
@@ -361,7 +360,7 @@ Options
  Set a time at which all tests should stop running.
 
  Set a real time of day at which all tests should timeout.  Example:
- 7:00:00 -0400.  Any time format understood by the curl date parser
+ ``7:00:00 -0400``.  Any time format understood by the curl date parser
  is accepted.  Local time is assumed if no timezone is specified.
 
 ``--http1.0``

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4572d36b1eb9527a7a23e7d777b1b7a5227bc960
commit 4572d36b1eb9527a7a23e7d777b1b7a5227bc960
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Wed May 4 23:50:35 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:07:53 2016 -0400

    doxygen: Introduce \cm_manual alias to reference manual from within doxygen
    
    This alias allows to easily reference section of the CMake manual.
    
    For example:
    
    * single argument version:
    
      \cm_manual{command/add_custom_target.html}
    
      expands to
    
      <a href="https://cmake.org/cmake/help/v3.5/command/add_custom_target.html">https://cmake.org/cmake/help/v3.5/command/add_custom_target.html</a>
    
    * two arguments version:
    
      \cm_manual{command/add_custom_target.html, add_custom_target}
    
      expands to
    
      <a href="https://cmake.org/cmake/help/v3.5/command/add_custom_target.html">add_custom_target</a>

diff --git a/Utilities/Doxygen/doxyfile.in b/Utilities/Doxygen/doxyfile.in
index 2c131f5..c143ab2 100644
--- a/Utilities/Doxygen/doxyfile.in
+++ b/Utilities/Doxygen/doxyfile.in
@@ -35,6 +35,9 @@ GRAPHICAL_HIERARCHY  = YES
 REFERENCED_BY_RELATION = YES
 REFERENCES_RELATION    = YES
 
+ALIASES += cm_manual{1}="<a href=\"https://cmake.org/cmake/help/v@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/\1\">https://cmake.org/cmake/help/v@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/\1</a>"
+ALIASES += cm_manual{2}="<a href=\"https://cmake.org/cmake/help/v@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/\1\">\2</a>"
+
 ALLEXTERNALS         = NO
 
 IMAGE_PATH           = "@CMake_BINARY_DIR@/Utilities/Doxygen/contrib"

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f4613f70efb1762d6ce69ba3066186a1cd3e53a3
commit f4613f70efb1762d6ce69ba3066186a1cd3e53a3
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Wed May 4 23:13:16 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:07:48 2016 -0400

    doxygen: Teach doc_makeall.sh how to skip cleaning of intermediate files
    
    The script "doc_makeall.sh" now understands a new argument named
    "--skip-clean" allowing to regenerate the documentation without removing
    the intermediate files. This will greatly speed up the development
    of the doxygen documentation.

diff --git a/Utilities/Doxygen/doc_makeall.sh.in b/Utilities/Doxygen/doc_makeall.sh.in
index fceafdd..4ed1852 100755
--- a/Utilities/Doxygen/doc_makeall.sh.in
+++ b/Utilities/Doxygen/doc_makeall.sh.in
@@ -20,7 +20,15 @@ export GNUPLOT_PROG="@GNUPLOT@"        # gnuplot (data plotting program)
 export HHC_PROG="@HTML_HELP_COMPILER@" # HTML Help Compiler
 export MV_PROG="@MV@"                  # mv (Unix-like 'move/rename files')
 export PERL_PROG="@PERL@"              # Perl
-export RM_PROG="@RM@"                  # rm (Unix-like 'remove files')
+
+# Skip cleaning steps. This will allow faster regeneration when locally
+# developing the documentation.
+if [[ "$1" == "--skip-clean" ]]; then
+    echo "Invoked with '--skip-clean'"
+    export RM_PROG="NOTFOUND"
+else
+    export RM_PROG="@RM@"                  # rm (Unix-like 'remove files')
+fi
 export TAR_PROG="@TAR@"                # tar (Unix-like 'archiver')
 export WGET_PROG="@WGET@"              # wget (remote file retrieval)
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2aa8e005a3f6e2fa357f5d11549a609213f738e5
commit 2aa8e005a3f6e2fa357f5d11549a609213f738e5
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Mon Jun 20 21:08:51 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:07:41 2016 -0400

    cmCTest: Improve doxygen for Part and Model enums

diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index b6657c9..669401c 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -66,7 +66,48 @@ class cmCTest
   friend class cmCTestMultiProcessHandler;
 
 public:
-  /** Enumerate parts of the testing and submission process.  */
+  /**
+   * \enum Part
+   * Enumerate parts of the testing and submission process.
+   *
+   * For more details,
+   * see \cm_manual{manual/ctest.1.html#dashboard-client-steps,
+   * dashboard client steps}.
+   *
+   * \sa PartInfo
+   *
+   * \var Part PartStart
+   * See \cm_manual{manual/ctest.1.html#ctest-start-step, start step}.
+   *
+   * \var Part PartUpdate
+   * The \cm_manual{manual/ctest.1.html#ctest-update-step, update step}
+   * is handled by cmCTestUpdateHandler.
+   *
+   * \var Part PartConfigure
+   * The \cm_manual{manual/ctest.1.html#ctest-configure-step, configure step}
+   * is handled by cmCTestConfigureHandler.
+   *
+   * \var Part PartBuild
+   * The \cm_manual{manual/ctest.1.html#ctest-build-step, build step}
+   * is handled by cmCTestBuildHandler.
+   *
+   * \var Part PartTest
+   * The \cm_manual{manual/ctest.1.html#ctest-test-step, test step}
+   * is handled by cmCTestTestHandler.
+   *
+   * \var Part PartCoverage
+   * The \cm_manual{manual/ctest.1.html#ctest-coverage-step, coverage step}
+   * is handled by cmCTestCoverageHandler.
+   *
+   * \var Part PartMemCheck
+   * The \cm_manual{manual/ctest.1.html#ctest-memcheck-step, memcheck step}
+   * is handled by cmCTestMemCheckHandler.
+   *
+   * \var Part PartSubmit
+   * The \cm_manual{manual/ctest.1.html#ctest-submit-step, submit step}
+   * is handled by cmCTestSubmitHandler.
+   *
+   */
   enum Part
   {
     PartStart,
@@ -323,6 +364,10 @@ public:
    */
   std::string GetShortPathToFile(const char* fname);
 
+  /**
+   * Enumerate all \cm_manual{manual/ctest.1.html#dashboard-client-modes,
+   * dashboard client modes}.
+   */
   enum
   {
     EXPERIMENTAL,

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ee6edc8a23c67c90844ab00ae4f49cf6764c8fd7
commit ee6edc8a23c67c90844ab00ae4f49cf6764c8fd7
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Mon Jun 20 20:56:43 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:07:18 2016 -0400

    cmCTest: Update doxygen to be consistent

diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index 5c34a94..b6657c9 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -53,6 +53,13 @@ class cmXMLWriter;
 #endif
 #define cout no_cout_use_cmCTestLog
 
+/** \class cmCTest
+ * \brief Represents a ctest invocation.
+ *
+ * This class represents a ctest invocation. It is the top level class when
+ * running ctest.
+ *
+ */
 class cmCTest
 {
   friend class cmCTestRunTest;
@@ -119,7 +126,7 @@ public:
   typedef std::vector<cmsys::String> VectorOfStrings;
   typedef std::set<std::string> SetOfStrings;
 
-  ///! Process Command line arguments
+  /** Process Command line arguments */
   int Run(std::vector<std::string>&, std::string* output = CM_NULLPTR);
 
   /**
@@ -135,22 +142,24 @@ public:
    *
    * The execution of the steps (or #Part) should look like this:
    *
+   * /code
    * ctest foo;
    * foo.Initialize();
    * // Set some things on foo
    * foo.ProcessSteps();
    * foo.Finalize();
+   * /endcode
    *
    * \sa Initialize(), Finalize(), Part, PartInfo, SetTest()
    */
   int ProcessSteps();
 
-  /*
+  /**
    * A utility function that returns the nightly time
    */
   struct tm* GetNightlyTime(std::string const& str, bool tomorrowtag);
 
-  /*
+  /**
    * Is the tomorrow tag set?
    */
   bool GetTomorrowTag() { return this->TomorrowTag; }
@@ -160,14 +169,14 @@ public:
    */
   int TestDirectory(bool memcheck);
 
-  ///! what is the configuraiton type, e.g. Debug, Release etc.
+  /** what is the configuraiton type, e.g. Debug, Release etc. */
   std::string const& GetConfigType();
   double GetTimeOut() { return this->TimeOut; }
   void SetTimeOut(double t) { this->TimeOut = t; }
 
   double GetGlobalTimeout() { return this->GlobalTimeout; }
 
-  // how many test to run at the same time
+  /** how many test to run at the same time */
   int GetParallelLevel() { return this->ParallelLevel; }
   void SetParallelLevel(int);
 
@@ -205,19 +214,19 @@ public:
   cmCTest();
   ~cmCTest();
 
-  //! Set the notes files to be created.
+  /** Set the notes files to be created. */
   void SetNotesFiles(const char* notes);
 
   void PopulateCustomVector(cmMakefile* mf, const std::string& definition,
                             std::vector<std::string>& vec);
   void PopulateCustomInteger(cmMakefile* mf, const std::string& def, int& val);
 
-  ///! Get the current time as string
+  /** Get the current time as string */
   std::string CurrentTime();
 
-  //! tar/gzip and then base 64 encode a file
+  /** tar/gzip and then base 64 encode a file */
   std::string Base64GzipEncodeFile(std::string const& file);
-  //! base64 encode a file
+  /** base64 encode a file */
   std::string Base64EncodeFile(std::string const& file);
 
   /**
@@ -227,11 +236,13 @@ public:
    */
   double GetRemainingTimeAllowed();
 
-  ///! Open file in the output directory and set the stream
+  /**
+   * Open file in the output directory and set the stream
+   */
   bool OpenOutputFile(const std::string& path, const std::string& name,
                       cmGeneratedFileStream& stream, bool compress = false);
 
-  ///! Should we only show what we would do?
+  /** Should we only show what we would do? */
   bool GetShowOnly();
 
   bool ShouldUseHTTP10() { return this->UseHTTP10; }
@@ -247,11 +258,11 @@ public:
   std::string GetStopTime() { return this->StopTime; }
   void SetStopTime(std::string const& time);
 
-  // Used for parallel ctest job scheduling
+  /** Used for parallel ctest job scheduling */
   std::string GetScheduleType() { return this->ScheduleType; }
   void SetScheduleType(std::string type) { this->ScheduleType = type; }
 
-  ///! The max output width
+  /** The max output width */
   int GetMaxTestNameWidth() const;
   void SetMaxTestNameWidth(int w) { this->MaxTestNameWidth = w; }
 
@@ -279,31 +290,37 @@ public:
                   std::string* stdErr, int* retVal = CM_NULLPTR,
                   const char* dir = CM_NULLPTR, double timeout = 0.0);
 
-  //! Clean/make safe for xml the given value such that it may be used as
-  // one of the key fields by CDash when computing the buildid.
+  /**
+   * Clean/make safe for xml the given value such that it may be used as
+   * one of the key fields by CDash when computing the buildid.
+   */
   static std::string SafeBuildIdField(const std::string& value);
 
-  //! Start CTest XML output file
+  /** Start CTest XML output file */
   void StartXML(cmXMLWriter& xml, bool append);
 
-  //! End CTest XML output file
+  /** End CTest XML output file */
   void EndXML(cmXMLWriter& xml);
 
-  //! Run command specialized for make and configure. Returns process status
-  // and retVal is return value or exception.
+  /**
+   * Run command specialized for make and configure. Returns process status
+   * and retVal is return value or exception.
+   */
   int RunMakeCommand(const char* command, std::string& output, int* retVal,
                      const char* dir, int timeout, std::ostream& ofs);
 
-  /*
-   * return the current tag
-   */
+  /** Return the current tag */
   std::string GetCurrentTag();
 
-  //! Get the path to the build tree
+  /** Get the path to the build tree */
   std::string GetBinaryDir();
 
-  //! Get the short path to the file. This means if the file is in binary or
-  // source directory, it will become /.../relative/path/to/file
+  /**
+   * Get the short path to the file.
+   *
+   * This means if the file is in binary or
+   * source directory, it will become /.../relative/path/to/file
+   */
   std::string GetShortPathToFile(const char* fname);
 
   enum
@@ -313,7 +330,7 @@ public:
     CONTINUOUS
   };
 
-  // provide some more detailed info on the return code for ctest
+  /** provide some more detailed info on the return code for ctest */
   enum
   {
     UPDATE_ERRORS = 0x01,
@@ -325,14 +342,16 @@ public:
     SUBMIT_ERRORS = 0x40
   };
 
-  ///! Are we producing XML
+  /** Are we producing XML */
   bool GetProduceXML();
   void SetProduceXML(bool v);
 
-  //! Run command specialized for tests. Returns process status and retVal is
-  // return value or exception. If environment is non-null, it is used to set
-  // environment variables prior to running the test. After running the test,
-  // environment variables are restored to their previous values.
+  /**
+   * Run command specialized for tests. Returns process status and retVal is
+   * return value or exception. If environment is non-null, it is used to set
+   * environment variables prior to running the test. After running the test,
+   * environment variables are restored to their previous values.
+   */
   int RunTest(std::vector<const char*> args, std::string* output, int* retVal,
               std::ostream* logfile, double testTimeOut,
               std::vector<std::string>* environment);
@@ -343,13 +362,13 @@ public:
    */
   int ExecuteHandler(const char* handler);
 
-  /*
+  /**
    * Get the handler object
    */
   cmCTestGenericHandler* GetHandler(const char* handler);
   cmCTestGenericHandler* GetInitializedHandler(const char* handler);
 
-  /*
+  /**
    * Set the CTest variable from CMake variable
    */
   bool SetCTestConfigurationFromCMakeVariable(cmMakefile* mf,
@@ -357,37 +376,42 @@ public:
                                               const std::string& cmake_var,
                                               bool suppress = false);
 
-  //! Make string safe to be send as an URL
+  /** Make string safe to be send as an URL */
   static std::string MakeURLSafe(const std::string&);
 
   /** Decode a URL to the original string.  */
   static std::string DecodeURL(const std::string&);
 
-  //! Should ctect configuration be updated. When using new style ctest
-  // script, this should be true.
+  /**
+   * Should ctect configuration be updated. When using new style ctest
+   * script, this should be true.
+   */
   void SetSuppressUpdatingCTestConfiguration(bool val)
   {
     this->SuppressUpdatingCTestConfiguration = val;
   }
 
-  //! Add overwrite to ctest configuration.
-  // The format is key=value
+  /**
+   * Add overwrite to ctest configuration.
+   *
+   * The format is key=value
+   */
   void AddCTestConfigurationOverwrite(const std::string& encstr);
 
-  //! Create XML file that contains all the notes specified
+  /** Create XML file that contains all the notes specified */
   int GenerateNotesFile(const VectorOfStrings& files);
 
-  //! Submit extra files to the server
+  /** Submit extra files to the server */
   bool SubmitExtraFiles(const char* files);
   bool SubmitExtraFiles(const VectorOfStrings& files);
 
-  //! Set the output log file name
+  /** Set the output log file name */
   void SetOutputLogFileName(const char* name);
 
-  //! Set the visual studio or Xcode config type
+  /** Set the visual studio or Xcode config type */
   void SetConfigType(const char* ct);
 
-  //! Various log types
+  /** Various log types */
   enum
   {
     DEBUG = 0,
@@ -400,15 +424,15 @@ public:
     OTHER
   };
 
-  //! Add log to the output
+  /** Add log to the output */
   void Log(int logType, const char* file, int line, const char* msg,
            bool suppress = false);
 
-  //! Get the version of dart server
+  /** Get the version of dart server */
   int GetDartVersion() { return this->DartVersion; }
   int GetDropSiteCDash() { return this->DropSiteCDash; }
 
-  //! Add file to be submitted
+  /** Add file to be submitted */
   void AddSubmitFile(Part part, const char* name);
   std::vector<std::string> const& GetSubmitFiles(Part part)
   {
@@ -416,7 +440,9 @@ public:
   }
   void ClearSubmitFiles(Part part) { this->Parts[part].SubmitFiles.clear(); }
 
-  //! Read the custom configuration files and apply them to the current ctest
+  /**
+   * Read the custom configuration files and apply them to the current ctest
+   */
   int ReadCustomConfigurationFileTree(const char* dir, cmMakefile* mf);
 
   std::vector<std::string>& GetInitialCommandLineArguments()
@@ -424,7 +450,7 @@ public:
     return this->InitialCommandLineArguments;
   }
 
-  //! Set the track to submit to
+  /** Set the track to submit to */
   void SetSpecificTrack(const char* track);
   const char* GetSpecificTrack();
 
@@ -452,10 +478,13 @@ public:
   {
     return this->Definitions;
   }
-  // return the number of times a test should be run
+
+  /** Return the number of times a test should be run */
   int GetTestRepeat() { return this->RepeatTests; }
-  // return true if test should run until fail
+
+  /** Return true if test should run until fail */
   bool GetRepeatUntilFail() { return this->RepeatUntilFail; }
+
 private:
   int RepeatTests;
   bool RepeatUntilFail;
@@ -490,7 +519,7 @@ private:
 
   bool ShowOnly;
 
-  //! Map of configuration properties
+  /** Map of configuration properties */
   typedef std::map<std::string, std::string> CTestConfigurationMap;
 
   std::string CTestConfigFile;
@@ -554,41 +583,41 @@ private:
    */
   int Initialize(const char* binary_dir, cmCTestStartCommand* command);
 
-  //! parse the option after -D and convert it into the appropriate steps
+  /** parse the option after -D and convert it into the appropriate steps */
   bool AddTestsForDashboardType(std::string& targ);
 
-  //! read as "emit an error message for an unknown -D value"
+  /** read as "emit an error message for an unknown -D value" */
   void ErrorMessageUnknownDashDValue(std::string& val);
 
-  //! add a variable definition from a command line -D value
+  /** add a variable definition from a command line -D value */
   bool AddVariableDefinition(const std::string& arg);
 
-  //! parse and process most common command line arguments
+  /** parse and process most common command line arguments */
   bool HandleCommandLineArguments(size_t& i, std::vector<std::string>& args,
                                   std::string& errormsg);
 
-  //! hande the -S -SP and -SR arguments
+  /** hande the -S -SP and -SR arguments */
   void HandleScriptArguments(size_t& i, std::vector<std::string>& args,
                              bool& SRArgumentSpecified);
 
-  //! Reread the configuration file
+  /** Reread the configuration file */
   bool UpdateCTestConfiguration();
 
-  //! Create note from files.
+  /** Create note from files. */
   int GenerateCTestNotesOutput(cmXMLWriter& xml, const VectorOfStrings& files);
 
-  //! Check if the argument is the one specified
+  /** Check if the argument is the one specified */
   bool CheckArgument(const std::string& arg, const char* varg1,
                      const char* varg2 = CM_NULLPTR);
 
-  //! Output errors from a test
+  /** Output errors from a test */
   void OutputTestErrors(std::vector<char> const& process_output);
 
-  //! Handle the --test-action command line argument
+  /** Handle the --test-action command line argument */
   bool HandleTestActionArgument(const char* ctestExec, size_t& i,
                                 const std::vector<std::string>& args);
 
-  //! Handle the --test-model command line argument
+  /** Handle the --test-model command line argument */
   bool HandleTestModelArgument(const char* ctestExec, size_t& i,
                                const std::vector<std::string>& args);
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7e95a34b611d999af534ffcc40f08f675bba5a1c
commit 7e95a34b611d999af534ffcc40f08f675bba5a1c
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Mon Jun 20 20:43:42 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:05:05 2016 -0400

    cmCTest: Rename "ProcessTests()" to "ProcessSteps()" and improve doxygen

diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 4508f13..fc218c9 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -886,7 +886,7 @@ int cmCTest::ExecuteHandler(const char* shandler)
   return handler->ProcessHandler();
 }
 
-int cmCTest::ProcessTests()
+int cmCTest::ProcessSteps()
 {
   int res = 0;
   bool notest = true;
@@ -2207,7 +2207,7 @@ int cmCTest::ExecuteTests()
       cmCTestLog(this, ERROR_MESSAGE, "Problem initializing the dashboard."
                    << std::endl);
     } else {
-      res = this->ProcessTests();
+      res = this->ProcessSteps();
     }
     this->Finalize();
   }
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index f42a274..5c34a94 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -129,16 +129,21 @@ public:
   void Finalize();
 
   /**
-   * Process the tests. This is the main routine. The execution of the
-   * tests should look like this:
+   * Process the dashboard client steps.
+   *
+   * Steps are enabled using SetTest()
+   *
+   * The execution of the steps (or #Part) should look like this:
    *
    * ctest foo;
    * foo.Initialize();
    * // Set some things on foo
-   * foo.ProcessTests();
+   * foo.ProcessSteps();
    * foo.Finalize();
+   *
+   * \sa Initialize(), Finalize(), Part, PartInfo, SetTest()
    */
-  int ProcessTests();
+  int ProcessSteps();
 
   /*
    * A utility function that returns the nightly time

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2110a7afb53b91c35bec0007fb7973bf204436d9
commit 2110a7afb53b91c35bec0007fb7973bf204436d9
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Mon Jun 20 20:40:55 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:04:25 2016 -0400

    cmCTest: Facilitate code reading adding consistent comments in Run()

diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 858808a..4508f13 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -2018,7 +2018,7 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
     // handle the script arguments -S -SR -SP
     this->HandleScriptArguments(i, args, SRArgumentSpecified);
 
-    // handle a request for a dashboard
+    // --dashboard: handle a request for a dashboard
     std::string arg = args[i];
     if (this->CheckArgument(arg, "-D", "--dashboard") && i < args.size() - 1) {
       this->ProduceXML = true;
@@ -2044,17 +2044,18 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
       this->AddVariableDefinition(input);
     }
 
-    // calls SetTest(<stage>, /*report=*/ false) to enable the corresponding
-    // stage. <stage> is a string like 'All', 'Start', or 'Udpate'.
+    // --test-action: calls SetTest(<stage>, /*report=*/ false) to enable
+    // the corresponding stage
     if (!this->HandleTestActionArgument(ctestExec, i, args)) {
       executeTests = false;
     }
 
-    // what type of test model
+    // --test-model: what type of test model
     if (!this->HandleTestModelArgument(ctestExec, i, args)) {
       executeTests = false;
     }
 
+    // --extra-submit
     if (this->CheckArgument(arg, "--extra-submit") && i < args.size() - 1) {
       this->ProduceXML = true;
       this->SetTest("Submit");
@@ -2069,6 +2070,7 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
       cmakeAndTest = true;
     }
 
+    // --schedule-random
     if (this->CheckArgument(arg, "--schedule-random")) {
       this->ScheduleType = "Random";
     }
@@ -2087,6 +2089,7 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
     }
   } // the close of the for argument loop
 
+  // handle CTEST_PARALLEL_LEVEL environment variable
   if (!this->ParallelLevelSetInCli) {
     if (const char* parallel = cmSystemTools::GetEnv("CTEST_PARALLEL_LEVEL")) {
       int plevel = atoi(parallel);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b809547abb3d4afdce3a5e64021f4bc81d6aef37
commit b809547abb3d4afdce3a5e64021f4bc81d6aef37
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Mon Jun 20 20:37:55 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:04:18 2016 -0400

    cmCTest: Improve readability adding "HandleTest(Action|Model)Argument()"

diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 9c6117a..858808a 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -2044,52 +2044,15 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
       this->AddVariableDefinition(input);
     }
 
-    if (this->CheckArgument(arg, "-T", "--test-action") &&
-        (i < args.size() - 1)) {
-      this->ProduceXML = true;
-      i++;
-      if (!this->SetTest(args[i].c_str(), false)) {
-        executeTests = false;
-        cmCTestLog(this, ERROR_MESSAGE,
-                   "CTest -T called with incorrect option: " << args[i]
-                                                             << std::endl);
-        cmCTestLog(this, ERROR_MESSAGE, "Available options are:"
-                     << std::endl
-                     << "  " << ctestExec << " -T all" << std::endl
-                     << "  " << ctestExec << " -T start" << std::endl
-                     << "  " << ctestExec << " -T update" << std::endl
-                     << "  " << ctestExec << " -T configure" << std::endl
-                     << "  " << ctestExec << " -T build" << std::endl
-                     << "  " << ctestExec << " -T test" << std::endl
-                     << "  " << ctestExec << " -T coverage" << std::endl
-                     << "  " << ctestExec << " -T memcheck" << std::endl
-                     << "  " << ctestExec << " -T notes" << std::endl
-                     << "  " << ctestExec << " -T submit" << std::endl);
-      }
+    // calls SetTest(<stage>, /*report=*/ false) to enable the corresponding
+    // stage. <stage> is a string like 'All', 'Start', or 'Udpate'.
+    if (!this->HandleTestActionArgument(ctestExec, i, args)) {
+      executeTests = false;
     }
 
     // what type of test model
-    if (this->CheckArgument(arg, "-M", "--test-model") &&
-        (i < args.size() - 1)) {
-      i++;
-      std::string const& str = args[i];
-      if (cmSystemTools::LowerCase(str) == "nightly") {
-        this->SetTestModel(cmCTest::NIGHTLY);
-      } else if (cmSystemTools::LowerCase(str) == "continuous") {
-        this->SetTestModel(cmCTest::CONTINUOUS);
-      } else if (cmSystemTools::LowerCase(str) == "experimental") {
-        this->SetTestModel(cmCTest::EXPERIMENTAL);
-      } else {
-        executeTests = false;
-        cmCTestLog(this, ERROR_MESSAGE,
-                   "CTest -M called with incorrect option: " << str
-                                                             << std::endl);
-        cmCTestLog(this, ERROR_MESSAGE, "Available options are:"
-                     << std::endl
-                     << "  " << ctestExec << " -M Continuous" << std::endl
-                     << "  " << ctestExec << " -M Experimental" << std::endl
-                     << "  " << ctestExec << " -M Nightly" << std::endl);
-      }
+    if (!this->HandleTestModelArgument(ctestExec, i, args)) {
+      executeTests = false;
     }
 
     if (this->CheckArgument(arg, "--extra-submit") && i < args.size() - 1) {
@@ -2144,6 +2107,65 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
   return 1;
 }
 
+bool cmCTest::HandleTestActionArgument(const char* ctestExec, size_t& i,
+                                       const std::vector<std::string>& args)
+{
+  bool success = true;
+  std::string arg = args[i];
+  if (this->CheckArgument(arg, "-T", "--test-action") &&
+      (i < args.size() - 1)) {
+    this->ProduceXML = true;
+    i++;
+    if (!this->SetTest(args[i].c_str(), false)) {
+      success = false;
+      cmCTestLog(this, ERROR_MESSAGE, "CTest -T called with incorrect option: "
+                   << args[i] << std::endl);
+      cmCTestLog(this, ERROR_MESSAGE, "Available options are:"
+                   << std::endl
+                   << "  " << ctestExec << " -T all" << std::endl
+                   << "  " << ctestExec << " -T start" << std::endl
+                   << "  " << ctestExec << " -T update" << std::endl
+                   << "  " << ctestExec << " -T configure" << std::endl
+                   << "  " << ctestExec << " -T build" << std::endl
+                   << "  " << ctestExec << " -T test" << std::endl
+                   << "  " << ctestExec << " -T coverage" << std::endl
+                   << "  " << ctestExec << " -T memcheck" << std::endl
+                   << "  " << ctestExec << " -T notes" << std::endl
+                   << "  " << ctestExec << " -T submit" << std::endl);
+    }
+  }
+  return success;
+}
+
+bool cmCTest::HandleTestModelArgument(const char* ctestExec, size_t& i,
+                                      const std::vector<std::string>& args)
+{
+  bool success = true;
+  std::string arg = args[i];
+  if (this->CheckArgument(arg, "-M", "--test-model") &&
+      (i < args.size() - 1)) {
+    i++;
+    std::string const& str = args[i];
+    if (cmSystemTools::LowerCase(str) == "nightly") {
+      this->SetTestModel(cmCTest::NIGHTLY);
+    } else if (cmSystemTools::LowerCase(str) == "continuous") {
+      this->SetTestModel(cmCTest::CONTINUOUS);
+    } else if (cmSystemTools::LowerCase(str) == "experimental") {
+      this->SetTestModel(cmCTest::EXPERIMENTAL);
+    } else {
+      success = false;
+      cmCTestLog(this, ERROR_MESSAGE, "CTest -M called with incorrect option: "
+                   << str << std::endl);
+      cmCTestLog(this, ERROR_MESSAGE, "Available options are:"
+                   << std::endl
+                   << "  " << ctestExec << " -M Continuous" << std::endl
+                   << "  " << ctestExec << " -M Experimental" << std::endl
+                   << "  " << ctestExec << " -M Nightly" << std::endl);
+    }
+  }
+  return success;
+}
+
 int cmCTest::ExecuteTests()
 {
   int res;
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index d8e48b1..f42a274 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -579,6 +579,14 @@ private:
   //! Output errors from a test
   void OutputTestErrors(std::vector<char> const& process_output);
 
+  //! Handle the --test-action command line argument
+  bool HandleTestActionArgument(const char* ctestExec, size_t& i,
+                                const std::vector<std::string>& args);
+
+  //! Handle the --test-model command line argument
+  bool HandleTestModelArgument(const char* ctestExec, size_t& i,
+                               const std::vector<std::string>& args);
+
   int RunCMakeAndTest(std::string* output);
   int ExecuteTests();
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5836fda70dc97328a920ff32c0676a2e8da767e7
commit 5836fda70dc97328a920ff32c0676a2e8da767e7
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Tue Jun 28 18:04:07 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 18:04:07 2016 -0400

    cmCTest: Improve readability adding "RunCMakeAndTest()" and "ExecuteTests()"

diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 59a58d0..9c6117a 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -2134,70 +2134,80 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
   // now what should cmake do? if --build-and-test was specified then
   // we run the build and test handler and return
   if (cmakeAndTest) {
-    this->Verbose = true;
-    cmCTestBuildAndTestHandler* handler =
-      static_cast<cmCTestBuildAndTestHandler*>(this->GetHandler("buildtest"));
-    int retv = handler->ProcessHandler();
-    *output = handler->GetOutput();
-#ifdef CMAKE_BUILD_WITH_CMAKE
-    cmDynamicLoader::FlushCache();
-#endif
-    if (retv != 0) {
-      cmCTestLog(this, DEBUG,
-                 "build and test failing returning: " << retv << std::endl);
-    }
-    return retv;
+    return this->RunCMakeAndTest(output);
   }
 
   if (executeTests) {
-    int res;
-    // call process directory
-    if (this->RunConfigurationScript) {
-      if (this->ExtraVerbose) {
-        cmCTestLog(this, OUTPUT, "* Extra verbosity turned on" << std::endl);
-      }
-      cmCTest::t_TestingHandlers::iterator it;
-      for (it = this->TestingHandlers.begin();
-           it != this->TestingHandlers.end(); ++it) {
-        it->second->SetVerbose(this->ExtraVerbose);
-        it->second->SetSubmitIndex(this->SubmitIndex);
-      }
-      this->GetHandler("script")->SetVerbose(this->Verbose);
-      res = this->GetHandler("script")->ProcessHandler();
-      if (res != 0) {
-        cmCTestLog(this, DEBUG,
-                   "running script failing returning: " << res << std::endl);
-      }
+    return this->ExecuteTests();
+  }
 
-    } else {
-      // What is this?  -V seems to be the same as -VV,
-      // and Verbose is always on in this case
-      this->ExtraVerbose = this->Verbose;
-      this->Verbose = true;
-      cmCTest::t_TestingHandlers::iterator it;
-      for (it = this->TestingHandlers.begin();
-           it != this->TestingHandlers.end(); ++it) {
-        it->second->SetVerbose(this->Verbose);
-        it->second->SetSubmitIndex(this->SubmitIndex);
-      }
-      std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
-      if (!this->Initialize(cwd.c_str(), CM_NULLPTR)) {
-        res = 12;
-        cmCTestLog(this, ERROR_MESSAGE, "Problem initializing the dashboard."
-                     << std::endl);
-      } else {
-        res = this->ProcessTests();
-      }
-      this->Finalize();
+  return 1;
+}
+
+int cmCTest::ExecuteTests()
+{
+  int res;
+  // call process directory
+  if (this->RunConfigurationScript) {
+    if (this->ExtraVerbose) {
+      cmCTestLog(this, OUTPUT, "* Extra verbosity turned on" << std::endl);
     }
+    cmCTest::t_TestingHandlers::iterator it;
+    for (it = this->TestingHandlers.begin(); it != this->TestingHandlers.end();
+         ++it) {
+      it->second->SetVerbose(this->ExtraVerbose);
+      it->second->SetSubmitIndex(this->SubmitIndex);
+    }
+    this->GetHandler("script")->SetVerbose(this->Verbose);
+    res = this->GetHandler("script")->ProcessHandler();
     if (res != 0) {
       cmCTestLog(this, DEBUG,
-                 "Running a test(s) failed returning : " << res << std::endl);
+                 "running script failing returning: " << res << std::endl);
+    }
+
+  } else {
+    // What is this?  -V seems to be the same as -VV,
+    // and Verbose is always on in this case
+    this->ExtraVerbose = this->Verbose;
+    this->Verbose = true;
+    cmCTest::t_TestingHandlers::iterator it;
+    for (it = this->TestingHandlers.begin(); it != this->TestingHandlers.end();
+         ++it) {
+      it->second->SetVerbose(this->Verbose);
+      it->second->SetSubmitIndex(this->SubmitIndex);
+    }
+    std::string cwd = cmSystemTools::GetCurrentWorkingDirectory();
+    if (!this->Initialize(cwd.c_str(), CM_NULLPTR)) {
+      res = 12;
+      cmCTestLog(this, ERROR_MESSAGE, "Problem initializing the dashboard."
+                   << std::endl);
+    } else {
+      res = this->ProcessTests();
     }
-    return res;
+    this->Finalize();
   }
+  if (res != 0) {
+    cmCTestLog(this, DEBUG,
+               "Running a test(s) failed returning : " << res << std::endl);
+  }
+  return res;
+}
 
-  return 1;
+int cmCTest::RunCMakeAndTest(std::string* output)
+{
+  this->Verbose = true;
+  cmCTestBuildAndTestHandler* handler =
+    static_cast<cmCTestBuildAndTestHandler*>(this->GetHandler("buildtest"));
+  int retv = handler->ProcessHandler();
+  *output = handler->GetOutput();
+#ifdef CMAKE_BUILD_WITH_CMAKE
+  cmDynamicLoader::FlushCache();
+#endif
+  if (retv != 0) {
+    cmCTestLog(this, DEBUG, "build and test failing returning: " << retv
+                                                                 << std::endl);
+  }
+  return retv;
 }
 
 void cmCTest::SetNotesFiles(const char* notes)
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index 833cd96..d8e48b1 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -579,6 +579,9 @@ private:
   //! Output errors from a test
   void OutputTestErrors(std::vector<char> const& process_output);
 
+  int RunCMakeAndTest(std::string* output);
+  int ExecuteTests();
+
   bool SuppressUpdatingCTestConfiguration;
 
   bool Debug;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6af458cedec9585ce13d3afc3ff78f1683343e38
commit 6af458cedec9585ce13d3afc3ff78f1683343e38
Author:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
AuthorDate: Wed May 4 14:23:24 2016 -0400
Commit:     Jean-Christophe Fillion-Robin <jchris.fillionr at kitware.com>
CommitDate: Tue Jun 28 17:53:02 2016 -0400

    cmCTest: Fix typo

diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 3694f09..59a58d0 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -2131,7 +2131,7 @@ int cmCTest::Run(std::vector<std::string>& args, std::string* output)
     }
   }
 
-  // now what sould cmake do? if --build-and-test was specified then
+  // now what should cmake do? if --build-and-test was specified then
   // we run the build and test handler and return
   if (cmakeAndTest) {
     this->Verbose = true;

-----------------------------------------------------------------------

Summary of changes:
 Help/manual/ctest.1.rst             |  104 ++++++++--------
 Source/cmCTest.cxx                  |  235 ++++++++++++++++++++---------------
 Source/cmCTest.h                    |  220 ++++++++++++++++++++++----------
 Utilities/Doxygen/doc_makeall.sh.in |   10 +-
 Utilities/Doxygen/doxyfile.in       |    3 +
 5 files changed, 353 insertions(+), 219 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list