FindSquish¶
– Typical Use
This module can be used to find Squish. Currently Squish versions 3 and 4 are supported.
SQUISH_FOUND If false, don't try to use Squish
SQUISH_VERSION The full version of Squish found
SQUISH_VERSION_MAJOR The major version of Squish found
SQUISH_VERSION_MINOR The minor version of Squish found
SQUISH_VERSION_PATCH The patch version of Squish found
SQUISH_INSTALL_DIR The Squish installation directory
(containing bin, lib, etc)
SQUISH_SERVER_EXECUTABLE The squishserver executable
SQUISH_CLIENT_EXECUTABLE The squishrunner executable
SQUISH_INSTALL_DIR_FOUND Was the install directory found?
SQUISH_SERVER_EXECUTABLE_FOUND Was the server executable found?
SQUISH_CLIENT_EXECUTABLE_FOUND Was the client executable found?
It provides the function squish_v4_add_test() for adding a squish test to cmake using Squish 4.x:
squish_v4_add_test(cmakeTestName
AUT targetName SUITE suiteName TEST squishTestName
[SETTINGSGROUP group] [PRE_COMMAND command] [POST_COMMAND command] )
The arguments have the following meaning:
cmakeTestName
this will be used as the first argument for add_test()
AUT targetName
the name of the cmake target which will be used as AUT, i.e. the executable which will be tested.
SUITE suiteName
this is either the full path to the squish suite, or just the last directory of the suite, i.e. the suite name. In this case the CMakeLists.txt which calls squish_add_test() must be located in the parent directory of the suite directory.
TEST squishTestName
the name of the squish test, i.e. the name of the subdirectory of the test inside the suite directory.
SETTINGSGROUP group
if specified, the given settings group will be used for executing the test. If not specified, the groupname will be “CTest_<username>”
PRE_COMMAND command
if specified, the given command will be executed before starting the squish test.
POST_COMMAND command
same as PRE_COMMAND, but after the squish test has been executed.
enable_testing()
find_package(Squish 4.0)
if (SQUISH_FOUND)
squish_v4_add_test(myTestName
AUT myApp
SUITE ${CMAKE_SOURCE_DIR}/tests/mySuite
TEST someSquishTest
SETTINGSGROUP myGroup
)
endif ()
For users of Squish version 3.x the macro squish_v3_add_test() is provided:
squish_v3_add_test(testName applicationUnderTest testCase envVars testWrapper)
Use this macro to add a test using Squish 3.x.
enable_testing()
find_package(Squish)
if (SQUISH_FOUND)
squish_v3_add_test(myTestName myApplication testCase envVars testWrapper)
endif ()
macro SQUISH_ADD_TEST(testName applicationUnderTest testCase envVars testWrapper)
This is deprecated. Use SQUISH_V3_ADD_TEST() if you are using Squish 3.x instead.