FindSquish¶
-- 一般用法
這個模組可以用來尋找 Squish。
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?
它提供了 squish_add_test() 函數,用於在使用 Squish >= 4.x 的情況下,將 squish 測試新增到 cmake。
squish_add_test(cmakeTestName
AUT targetName SUITE suiteName TEST squishTestName
[SETTINGSGROUP group] [PRE_COMMAND command] [POST_COMMAND command] )
在 3.18 版本變更: 在先前的 CMake 版本中,此函數名稱為 squish_v4_add_test
。
參數具有以下含義:
cmakeTestName
這將用作 add_test() 的第一個參數。
AUT targetName
將用作 AUT 的 cmake 目標名稱,即將被測試的可執行檔。
SUITE suiteName
這是 Squish 套件的完整路徑,或者只是套件的最後一個目錄,即套件名稱。在這種情況下,呼叫 squish_add_test() 的 CMakeLists.txt 必須位於套件目錄的父目錄中。
TEST squishTestName
Squish 測試的名稱,即套件目錄內測試子目錄的名稱。
SETTINGSGROUP group
已棄用,此參數將被忽略。
PRE_COMMAND command
如果指定,則在開始 squish 測試之前執行給定的命令。
POST_COMMAND command
與 PRE_COMMAND 相同,但在執行 squish 測試之後執行。
enable_testing()
find_package(Squish 6.5)
if (SQUISH_FOUND)
squish_add_test(myTestName
AUT myApp
SUITE ${CMAKE_SOURCE_DIR}/tests/mySuite
TEST someSquishTest
)
endif ()
對於 Squish 3.x 版的使用者,提供了巨集 squish_v3_add_test()
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 3.0)
if (SQUISH_FOUND)
squish_v3_add_test(myTestName myApplication testCase envVars testWrapper)
endif ()