[CMake] Build on one machine, test on multiple

Martin Apel martin.apel at simpack.de
Wed Jun 2 05:49:51 EDT 2010


Hi all,

here is what I did now:
I created an installer image (BitRock installer in our case) containing
the normal deliverables of our software plus the following items:
- Some scripts needed to carry out our tests. This also contains
software needed to carry out the tests (Squish)
- A complete CMake installation
- The following CMake-generated files from the build directory:
  - CTestCustom.cmake
  - DartConfiguration.tcl
  - CTestTestfile.cmake
- Post-installation script

The last item is a script, which is run by the installer as a
post-install step. This script adjusts
all paths in the above CMake files from the build directory to the
installation directory. It also adjusts the
host name contained in DartConfiguration.tcl, so the results show up in
CDash under the correct name.
The final step of the post-installation script is to call ctest with the
following arguments:
  ctest -T Test -T Submit --track Nightly
For this to work the environment variable CMAKE_ROOT is set to the
just-installed CMake share directory in the script.

This causes a simple installation, which can be done automatically via
cron or the Windows task planner, to perform
the installation, carry out the tests and submit the results to CDash.
The only requirement for the test machines
is to have standard software installed, we need perl and python for our
tests.

Hope this helps,

Martin


On 05/30/10 14:17, Alexander Neundorf wrote:
> On Friday 28 May 2010, Martin Apel wrote:
>   
>> Hi Karthik,
>>
>> I was aware, that I can start ctest this way. However from my
>> understanding this requires at least the whole build tree to be at the
>> same location
>> as on the build machine. I had hoped to get away with copying a subset
>> of the generated files somehow, possibly to a different directory.
>>     
> Yes, I'm interested in the same thing.
> I'd like to run our tests on different cluster sizes. It's the same compiler,
> OS and hardware each time, "just" a different number of nodes where it will
> run on.
> I guess one should look at the testing files created in the buildtree and then
> figure out what could be done.
>
> Alex
>
>   




More information about the CMake mailing list