<br>Hi Gaetan,<br><br>I agree that it is an interesting feature to be able to run several tests simultaneously.<br><br>It is true that *the large majority* of ITK tests do not depend on the output from <br>previous tests. There are however some exceptions, for example, the hole filling
<br>filters apply their computation on the output of the binary threshold image filter test.<br><br>You may get away with the lack of dependencies if you run a non-clean build,<br>with the drawback that if test A depends on the output of test B, and&nbsp; yesterday
<br>test B was broken, then Today&#39;s test A will appear as broken, even if the code<br>for both A and B is fine today.<br><br>Any effort that reduces the computation time of the tests is worth of consideration,<br>because that also increases the chances that we will actually run the full testing
<br>before committing code to the repository ( I say this with the guilt of having <br>committed code on Monday without running the full testing...)<br><br>The dependencies are probably very few, the challenge is to find them&nbsp;&nbsp; :-/
<br>and then to make sure that they are never introduced again.&nbsp; I would guess<br>that most of the dependencies can be solved by adding the output file&nbsp; to the<br>Data/Input or the Data/Baseline directory, assuming that the file is not too big.
<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp; Luis<br><br><br><br>----------------------------------------------------------------------------------------------------------<br><div><span class="gmail_quote">On 7/25/07, <b class="gmail_sendername">Gaëtan Lehmann
</b> &lt;<a href="mailto:gaetan.lehmann@jouy.inra.fr">gaetan.lehmann@jouy.inra.fr</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Selon Mathieu Malaterre &lt;<a href="mailto:mathieu.malaterre@gmail.com">mathieu.malaterre@gmail.com</a>&gt;:<br><br>&gt; Hi Alex &quot;hanfei&quot;,<br>&gt;<br>&gt;&nbsp;&nbsp; I believe there is nothing in the ADD_TEST to declare dependencies.
<br>&gt; So chance is that you would run a test (depending on output from<br>&gt; another) *before* the dependant test is run.<br>&gt;<br>&gt;&nbsp;&nbsp; Is this correct ?<br><br>But that&#39;s also the case when using the -I option, or any option which allow to
<br>restrict the set of tests.<br><br>The ITK tests for example don&#39;t seem to have a dependency on other tests.<br>And the itkTestDriver program can now be used to easily run a test program and<br>test the output images in a single ADD_TEST() command, so there is no
<br>dependencies on other tests like with ImageCompare.<br><br>That&#39;s surely not possible for all the projects, but being able to run the tests<br>in parallel as an option (-j ?) would definitively be a nice feature.<br>
<br>&gt;<br>&gt; -Mathieu<br>&gt;<br>&gt; On 7/24/07, Dr. Alex. GOUAILLARD &lt;<a href="mailto:hanfei@caltech.edu">hanfei@caltech.edu</a>&gt; wrote:<br>&gt; &gt; hi all,<br>&gt; &gt;<br>&gt; &gt; Annoyed by the time needed by the ITK test suite to run, I made a little
<br>&gt; &gt; test trying to use ctest in a multithreaded fashion (thanks to the -I<br>&gt; &gt; option). Attached is a little test that is yet neither automatic or<br>&gt; &gt; complete, but that already give nice results on windows. It could be
<br>&gt; &gt; directly extended to deal with the memcheck command, which would be<br>&gt; &gt; great too (as it is even slower).<br>&gt; &gt;<br>&gt; &gt; compile it, copy it in your build directory, and it should work fine.
<br>&gt; &gt;<br>&gt; &gt; It first fake running ctest on the first test, for you to read the total<br>&gt; &gt; number of tests. It is then prompting you for that number, and launch 8<br>&gt; &gt; threads (you can change that number in the code) each running
<br>&gt; &gt; MaxNumberOfTest / 8 tests. It prints the logs in files named<br>&gt; &gt; ctest.log.&lt;ThreadNumber&gt;<br>&gt; &gt;<br>&gt; &gt; pros:<br>&gt; &gt; -&gt; On my 8 cores (2 4-cores) machine the gain is indeed a factor 8. 1012
<br>&gt; &gt; ITK tests in 5 mn (yum!)<br>&gt; &gt;<br>&gt; &gt; cons:<br>&gt; &gt; -&gt; cmake is trying to write on some temp files, and all but the first<br>&gt; &gt; fail to do that.<br>&gt; &gt; -&gt; I did not address merging and writing the resulting xml files for
<br>&gt; &gt; dashboard submission. I need to figure how to redirect each individual<br>&gt; &gt; ctest xml output first, then parsing and merging should not really be an<br>&gt; &gt; issue.<br>&gt; &gt;<br>&gt; &gt; questions:
<br>&gt; &gt; -&gt; how to use ITK framework to make it plateform independent?<br>&gt; &gt; -&gt; how to get the number of cores automatically?<br>&gt; &gt; -&gt; how to be compliant with the existing 1: writing temp files?
<br>&gt; &gt; -&gt; how to be compliant with the existant 2: how to redirect the xml output?<br>&gt; &gt;<br>&gt; &gt; alex &quot;hanfei&quot;<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; CMake mailing list
<br>&gt; &gt; <a href="mailto:CMake@cmake.org">CMake@cmake.org</a><br>&gt; &gt; <a href="http://www.cmake.org/mailman/listinfo/cmake">http://www.cmake.org/mailman/listinfo/cmake</a><br>&gt; &gt;<br>&gt; &gt;<br>&gt;<br>&gt;
<br>&gt; --<br>&gt; Mathieu<br>&gt; _______________________________________________<br>&gt; Insight-users mailing list<br>&gt; <a href="mailto:Insight-users@itk.org">Insight-users@itk.org</a><br>&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users">
http://www.itk.org/mailman/listinfo/insight-users</a><br>&gt;<br><br><br>_______________________________________________<br>CMake mailing list<br><a href="mailto:CMake@cmake.org">CMake@cmake.org</a><br><a href="http://www.cmake.org/mailman/listinfo/cmake">
http://www.cmake.org/mailman/listinfo/cmake</a><br></blockquote></div><br>