android编译VTS测试组件
需要進行VTS測試時,可以自已編譯出VTS測試組件,方法如下:
1、source build/envsetup.sh
2、lunch選擇自己需要的工程
3、make vts
編譯完成后,在out/host/linux-x86/vts目錄下能看到測試組件
VTS的測試代碼路徑在:android\test\vts-testcase
這里以avb的測試代碼為例,看看里面都有哪些內容
其中AndroidTest.xml,表示當前vts_security_avb_test測試的配置
<configuration description="Config for VTS AVB test cases"><option name="config-descriptor:metadata" key="plan" value="vts-security" /><target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher"><option name="abort-on-push-failure" value="false" /><option name="push-group" value="HalHidlTargetTest.push"/><option name="push" value="DATA/avb/q-gsi.avbpubkey->/data/local/tmp/q-gsi.avbpubkey" /><option name="push" value="DATA/avb/r-gsi.avbpubkey->/data/local/tmp/r-gsi.avbpubkey" /><option name="push" value="DATA/avb/s-gsi.avbpubkey->/data/local/tmp/s-gsi.avbpubkey" /></target_preparer><test class="com.android.tradefed.testtype.VtsMultiDeviceTest"><option name="test-module-name" value="VtsSecurityAvb" /><option name="binary-test-source" value="_32bit::DATA/nativetest/VtsSecurityAvbTest/VtsSecurityAvbTest" /><option name="binary-test-source" value="_64bit::DATA/nativetest64/VtsSecurityAvbTest/VtsSecurityAvbTest" /><option name="binary-test-type" value="gtest" /><option name="precondition-first-api-level" value="29" /><option name="test-timeout" value="3m" /></test> </configuration>vts_security_avb_test.xml內容
<?xml version="1.0" encoding="utf-8"?> <configuration description="Config for vts_security_avb_test"><target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/><target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"><option name="cleanup" value="true" /><option name="push" value="vts_security_avb_test->/data/local/tmp/vts_security_avb_test" /><option name="push" value="q-gsi.avbpubkey->/data/local/tmp/q-gsi.avbpubkey" /><option name="push" value="r-gsi.avbpubkey->/data/local/tmp/r-gsi.avbpubkey" /><option name="push" value="s-gsi.avbpubkey->/data/local/tmp/s-gsi.avbpubkey" /></target_preparer><test class="com.android.tradefed.testtype.GTest" ><option name="native-test-device-path" value="/data/local/tmp" /><option name="module-name" value="vts_security_avb_test" /></test><object type="module_controller" class="com.android.tradefed.testtype.suite.module.MinApiLevelModuleController" ><option name="api-level-prop" value="ro.product.first_api_level"/><option name="min-api-level" value="29"/></object> </configuration>Android.bp內容
cc_defaults {name: "vts_security_avb_defaults",srcs: ["VtsSecurityAvbTest.cpp"],shared_libs: ["libbase","liblog",],static_libs: ["libavb","libcrypto_static","libfs_avb","libfs_mgr",], }cc_test {name: "vts_security_avb_test",defaults: ["vts_security_avb_defaults"],test_config: "vts_security_avb_test.xml",test_suites: ["device-tests","vts",],data: [":q-gsi_avbpubkey",":r-gsi_avbpubkey",":s-gsi_avbpubkey",], }cc_test {name: "VtsSecurityAvbTest",defaults: ["vts_security_avb_defaults"], }vts_config {name: "VtsSecurityAvb", }我們看一下編譯出來的VTS測試avb內容,進入android\out\host\linux-x86\vts\android-vts\testcases\vts_security_avb_test\arm
android/out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm$ tree . ├── q-gsi.avbpubkey ├── r-gsi.avbpubkey ├── s-gsi.avbpubkey └── vts_security_avb_testvts_security_avb_test這個應該就是測試bin了,另外幾個表示avb的公鑰,看上面的配置,在測試時會被push到data/local/tmp/目錄下。
再看一下編譯出來的tools目錄內容:
/android/out/host/linux-x86/vts/android-vts/tools$ tree . ├── README ├── compatibility-common-util-tests.jar ├── compatibility-host-util-tests.jar ├── compatibility-host-util.jar ├── compatibility-tradefed-tests.jar ├── hosttestlib.jar ├── loganalysis.jar ├── tradefed-test-framework.jar ├── tradefed.jar ├── version.txt ├── vts-tradefed ├── vts-tradefed-tests.jar └── vts-tradefed.jar0 directories, 13 files其中vts-tradefed就是我們跑vts case前要執行的命令,這個會準備好運行的環境。
另外,編譯出來的android-vts.zip.list清單中有詳細的所有測試case
android/out/host/linux-x86/vts$ tree -L 1 . ├── android-vts ├── android-vts.zip └── android-vts.zip.list比如我這里是要測試avb,打開android-vts.zip.list文件后,和avb相關的測試case有如下配置。
out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/q-gsi.avbpubkey out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/r-gsi.avbpubkey out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/s-gsi.avbpubkey out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm/vts_security_avb_test out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64 out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/q-gsi.avbpubkey out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/r-gsi.avbpubkey out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/s-gsi.avbpubkey out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/arm64/vts_security_avb_test out/host/linux-x86/vts/android-vts/testcases/vts_security_avb_test/vts_security_avb_test.config總結
以上是生活随笔為你收集整理的android编译VTS测试组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在datagrid里面生成指定的Data
- 下一篇: 招聘webgis开发经理和程序员