[CMake] make test missing
Jochen Issing
iss at nesono.com
Tue Nov 9 09:29:18 EST 2010
Hi All,
sorry for taking so much time for this wimpy problem. I think I found the issue and it's simple as always.
See some small comments inline
On 09.11.2010, at 03:28, Alan W. Irwin wrote:
> On 2010-11-09 02:52+0100 Michael Hertling wrote:
>
>> On 11/08/2010 10:03 PM, Jochen Issing wrote:
>>> Hi list,
>>>
>>> I tried to add ctest to my project and did this by adding ENABLE_TESTING() and several ADD_TEST(...) to my CMakeLists.txt file.
>>> The tests are run on executables, which are built inside a dedicated test directory in my project root and the execs show up in my Makefile.
>>> After reading through some docs, I am told to call make test after building. However, no target named 'test' is available.
>>
>> I.e. it doesn't show up in the listing of "make help"?
Yes, it did not show up, but run without a warning, because a directory (and thus product) test existed :/
>>
>>> Here my question: Does my directory 'test' interfere with the 'test' rule or do I have to install the executables before testing or do I still miss something?
>>
>> On *nix, I can see the following CMakeLists.txt work:
>>
>> CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
>> PROJECT(TEST C)
>> ENABLE_TESTING()
>> FILE(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/test ${CMAKE_BINARY_DIR}/test)
>> FILE(WRITE ${CMAKE_BINARY_DIR}/main.c "int main(void){return 0;}\n")
>> ADD_EXECUTABLE(main main.c)
>> SET_TARGET_PROPERTIES(
>> main
>> PROPERTIES
>> RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/test
>> )
>> ADD_TEST(NAME main COMMAND main)
I tried this with success :) Thanks for the interesting build script!
>>
>> The output of "make test" - without installation - is:
>>
>> Running tests...
>> Test project /home/hertling/work/cmake/issing/obj
>> Start 1: main
>> 1/1 Test #1: main ............................. Passed 0.00 sec
>>
>> 100% tests passed, 0 tests failed out of 1
>>
>> Total Test time (real) = 0.11 sec
>>
>> So, I'd conclude the "test" directories' presence doesn't matter,
>> nor does the fact if an installation has already been performed.
>
> In the past this mattered a lot so the PLplot project had to rename
> our test source tree directory to plplot_test to avoid the clash with
> the name of the test target.
Not for me - renaming didn't solve it
Instead I moved ENABLE_TESTING() from test/CMakeListst.txt to my root CMakeLists.txt
I think this is not stated in the documentation.
Thanks everybody!
jochen
>
> It is possible your example above is not complicated
> enough to trigger the clash. For example, your test
> subdirectories are just created, but you do not have an
> add_subdirectory(test) command to actually run cmake within that
> test subdirectory.
>
> So I would suggest to the OP that they do rename their test directory
> to something else because I am pretty sure that will solve the issue.
> Until PLplot did that (for a much earlier version of CMake) "make
> test" failed to work for us.
>
> Alan
>
>
>
>>
>> Maybe, you could post your CMakeLists.txt for further inspection.
>>
>> Regards,
>>
>> Michael
>>
>>> Anyhow, 'ctest -D Experimental' seems to do something :/
>>>
>>> Also, I am not sure if I need to setup a Dashboard-Server to use testing at all. I suppose it's possible without a dashboard, but don't know how.
>>> Thanks in advance!
>>> Cheers,
>>>
>>> - jochen
>>> gpg: 1024D/013400C7
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>>
>
> __________________________
> Alan W. Irwin
>
> Astronomical research affiliation with Department of Physics and Astronomy,
> University of Victoria (astrowww.phys.uvic.ca).
>
> Programming affiliations with the FreeEOS equation-of-state implementation
> for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
> package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
> Linux Links project (loll.sf.net); and the Linux Brochure Project
> (lbproject.sf.net).
> __________________________
>
> Linux-powered Science
> __________________________
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
More information about the CMake
mailing list