AndroidTestUtilities¶
Added in version 3.7.
This module provides a command to create a test that pushes data needed for testing an Android device behavior onto a connected Android device.
Load this module in a CMake project with:
include(AndroidTestUtilities)
Commands¶
This module provides the following command:
- android_add_test_data¶
Creates a test that automatically loads specified data onto an Android device:
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>...] )
This command accepts files and libraries needed to run project-specific tests as well as separate destinations for each. It will create a test that loads the files into a device object store and link to them from the specified destination. The files are only uploaded if they are not already in the object store.
On the host operating system, files and libraries are copied at build time. For on-device testing, the files are loaded onto the device by the manufactured test at run time.
This command accepts the following named parameters:
FILES <files>...
Zero or more files needed for testing.
FILES_DEST <device-dir>
Absolute path where the data files are expected to be.
LIBS <libs>...
Zero or more libraries needed for testing.
LIBS_DEST <device-dir>
Absolute path where the libraries are expected to be.
DEVICE_OBJECT_STORE <device-dir>
Absolute path to the on-device location where the data files are initially stored.
DEVICE_TEST_DIR <device-dir>
Absolute path to the root directory of the on-device test location.
NO_LINK_REGEX <regexes>...
A list of regular expression patterns matching file names to be copied from the object store to the test directory, instead of being symlinked.
Examples¶
The following example shows how to use this module to create a test named
example_setup_test
that prepares data during the build phase. This test
can then be run using ctest(1)
to load the data onto the Android
device.
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"
)