AndroidTestUtilities¶
3.7 版本中新增。
此模块提供了一个命令,用于创建测试,将测试 Android 设备行为所需的数据推送到已连接的 Android 设备上。
在 CMake 项目中加载此模块,使用
include(AndroidTestUtilities)
命令¶
此模块提供以下命令
- android_add_test_data¶
创建一项自动将指定数据加载到 Android 设备上的测试
android_add_test_data( <test-name> [FILES <files>...] [FILES_DEST <device-dir>] [LIBS <libs>...] [LIBS_DEST <device-dir>] DEVICE_OBJECT_STORE <device-dir> DEVICE_TEST_DIR <device-dir> [NO_LINK_REGEX <regexes>...] )
此命令接受运行项目特定测试所需的文件和库,以及每个文件的单独目标位置。它将创建一个测试,该测试将文件加载到设备对象存储中,并从指定的目标位置链接到这些文件。仅当文件尚未在对象存储中时,才会上传这些文件。
在主机操作系统上,文件和库在构建时被复制。对于设备上的测试,在运行时由制造商测试将文件加载到设备上。
此命令接受以下命名参数
FILES <files>...测试所需的零个或多个文件。
FILES_DEST <device-dir>预期数据文件的绝对路径。
LIBS <libs>...测试所需的零个或多个库。
LIBS_DEST <device-dir>预期库的绝对路径。
DEVICE_OBJECT_STORE <device-dir>数据文件最初存储的设备上的绝对路径。
DEVICE_TEST_DIR <device-dir>设备上测试位置根目录的绝对路径。
NO_LINK_REGEX <regexes>...一个正则表达式模式列表,匹配要从对象存储复制到测试目录的文件名,而不是创建符号链接。
示例¶
以下示例显示了如何使用此模块创建名为 example_setup_test 的测试,该测试在构建阶段准备数据。然后可以使用 ctest(1) 运行此测试,将数据加载到 Android 设备上。
CMakeLists.txt¶include(AndroidTestUtilities)
android_add_test_data(
example_setup_test
FILES data/protobuffer.p data/file.txt
LIBS libs/library_1 libs/library_2
DEVICE_OBJECT_STORE "/sdcard/.ExternalData/SHA"
DEVICE_TEST_DIR "/data/local/tests/example"
)