I am trying to run some tests using CTest.
My CTestTestFile.cmake
contains a single test
add_test(NAME test1
COMMAND python script.py args
)
but when I try run ctest
it outputs the following
Start 1: NAME
Could not find executable test1
Looked in the following places:
test1
test1.exe
Release/test1
Release/test1.exe
Debug/test1
Debug/test1.exe
MinSizeRel/test1
MinSizeRel/test1.exe
RelWithDebInfo/test1
RelWithDebInfo/test1.exe
Deployment/test1
Deployment/test1.exe
Development/test1
Development/test1.exe
Unable to find executable: test1
1/1 Test #1: NAME .............................***Not Run 0.00 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 0.14 sec
The following tests FAILED:
1 - NAME (Not Run)
This suggests CTest thinks I'm using the short version of the command, so that my test's name is NAME
, the command is test1
and python script.py args
are the arguments to the command, when this is of course not the case, as I'm obviously using the long version of the command.
I have CMake version 3.24.1 installed.
The CTest runtime, unlike CMake, accepts only the "basic" signature documented at the end of the usual add_test
documentation:
add_test(<name> <command> [<arg>...])
Notice that CTest thought your test was named NAME
.
So you have to write:
add_test(test1 "python" "script.py" "args")