[CMake] Some ctest question
Rolf Eike Beer
eike at sf-mail.de
Thu May 16 04:46:13 EDT 2013
Leek, Jim wrote:
> I'm new to cmake, a few weeks ago I decided to convert a complex and
> decrepit old build system to cmake. It has gone very well, I'm quite
> impressed.
>
> So, now I want to add testing support, but I haven't been able to figure out
> a few things.
>
>
> 1. What to do with testing input files? I wrote a script to handle the
> common details of running. So I just need to pass it paths to the
> executable and input files. What's the best way to do this? Right now I
> just have them point to the source directory, is that the best way to
> handle this?
>
> add_test (Bungee ${PROJECT_SOURCE_DIR}/Examples/psuade_2test.sh
> ${PROJECT_BINARY_DIR}/psuade
> ${PROJECT_SOURCE_DIR}/Examples/Bungee/psuade.in
> ${PROJECT_SOURCE_DIR}/Examples/Bungee/psScript.in
> ${PROJECT_SOURCE_DIR}/Examples/Bungee/psScript.out)
>
> Maybe it would be better to copy the input files to the build directory?
If those tests can read their input from any location keeping them in the
source dir is the best you can do as you don't waste space and time by copying
them.
If those input files need to be adapted for a test run, e.g. telling them the
location of a path, the endianess, bit size, or a configuration option of the
build you may want to have a look on configure_file(). If those scripts create
any temporary files I think it's best to set their working dir
(WORKING_DIRECTORY property or option) to the binary tree. Be careful that
those tests may be run in parallel if you run ctest -j, so make sure they
either use different filenames or different directories.
> 3. Finally, my testing script uses "diff" to compare the output from
> the test to the canonical output. This works fine on various unix flavors,
> but I will also need to build this on Windows (probably with mingw).
> Windows doesn't have diff, but does have FC. I could probably write a
> windows script to do testing. How are these problems usually handled?
> CMAKE_SYSTEM_NAME?
set_tests_properties(... PASS_REGULAR_EXPRESSION)?
Eike
--
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130516/240bd8ef/attachment-0001.pgp>
More information about the CMake
mailing list