Задайте вопросы об Android VTS
Я задаю вопросы по Android VTS.
В настоящее время я работаю над ubuntu 18.04, а целевое устройство работает над AVD. Прежде всего, я установил следующее окружение.
$ sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
$ mkdir android && cd android
$ repo init -u https://android.googlesource.com/platform/manifest -b android-11.0.0_r28
$ repo sync -c -j $(($(nproc) - 2)) --no-tags --no-clone-bundle
$ repo start android-11.0.0_r28 --all
$ . build/envsetup.sh
$ lunch sdk_phone_x86_64-userdebug
$ m
Я успешно собрал и подтвердил, что эмулятор работает хорошо.
$ emulator -no-window -writable-system
$ adb root remount
$ adb device
List of devices attached
emulator-5554 device
После этого я построил следующие vts для анализа поведения клавиатуры Android.
$ cd hardware\interfaces\keymaster\3.0\vts\functional
$ mm
После успешной сборки модуля я запустил эмулятор и отправил двоичный файл следующим образом.
$ emulator -no-window -writable-system
$ adb root remount
$ adb push out\soong\.intermediates\hardware\interfaces\keymaster\3.0\vts\functional\VtsHalKeymasterV3_0TargetTest\android_x86_64\VtsHalKeymasterV3_0TargetTest /data/tmp
Я успешно выполнил описанное выше и запустил двоичный файл, и он выглядит так:
$ adb shell /data/tmp/VtsHalKeymasterV3_0TargetTest
[==========] Running 12 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 12 tests from GoogleTestVerification
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<KeymasterVersionTest>
Paramaterized test suite KeymasterVersionTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<KeymasterVersionTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<NewKeyGenerationTest>
Paramaterized test suite NewKeyGenerationTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<NewKeyGenerationTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<GetKeyCharacteristicsTest>
Paramaterized test suite GetKeyCharacteristicsTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<GetKeyCharacteristicsTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<SigningOperationsTest>
Paramaterized test suite SigningOperationsTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<SigningOperationsTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<VerificationOperationsTest>
Paramaterized test suite VerificationOperationsTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<VerificationOperationsTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<ExportKeyTest>
Paramaterized test suite ExportKeyTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<ExportKeyTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<ImportKeyTest>
Paramaterized test suite ImportKeyTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<ImportKeyTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<EncryptionOperationsTest>
Paramaterized test suite EncryptionOperationsTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<EncryptionOperationsTest> (1 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<MaxOperationsTest>
Paramaterized test suite MaxOperationsTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<MaxOperationsTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<AddEntropyTest>
Paramaterized test suite AddEntropyTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<AddEntropyTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<AttestationTest>
Paramaterized test suite AttestationTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<AttestationTest> (0 ms)
[ RUN ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<KeyDeletionTest>
Paramaterized test suite KeyDeletionTest is defined via TEST_P, but never instantiated. None of the test cases will run. Either no INSTANTIATE_TEST_SUITE_P is provided or the only ones provided expand to nothing.
Ideally, TEST_P definitions should only ever be included as part of binaries that intend to use them. (As opposed to, for example, being placed in a library that may be linked in to get other utilities.)
[ OK ] GoogleTestVerification.UninstantiatedParamaterizedTestSuite<KeyDeletionTest> (0 ms)
[----------] 12 tests from GoogleTestVerification (2 ms total)
[----------] Global test environment tear-down
[==========] 12 tests from 1 test suite ran. (3 ms total)
[ PASSED ] 12 tests.
Для выполнения следующих действий потребовалось всего 3 мс. Когда я внимательно его проверяю, кажется, что сам тест не продолжается. Я не вносил никаких дополнительных изменений в источник или другие детали. Любой, кто знает, что еще мне нужно сделать, чтобы запустить vts, был бы признателен.