1 # VTS User Manual 2 3 Linux is officially supported for building and running VTS. Building on Windows is not supported, but it is possible to [run VTS on Windows](#run_vts) with Python, Java, and ADB installed. 4 5 The following instructions assume Linux environment. 6 7 ## 1. Setup 8 9 ### 1.1. Host setup 10 11 Please follow: 12 13 * [Setup Manual](setup/index.md) 14 15 (Optional) 16 During VTS test runs, required Python packages are downloaded from the [Python Package Index](https://pypi.python.org/simple/). There is an option to instead install these packages from a local directory during test runtime by predownloading the packages. First run the lunch command, then set an environment variable VTS_PYPI_PATH as a new local directory to host the Python packages. Then run the download-pypi-packages.sh script: 17 18 * `$ cd ${branch}` 19 20 * `$ . test/vts/script/download-pypi-packages.sh` 21 22 ### 1.2. Checkout master git repository 23 24 [Download Android Source Code](https://source.android.com/source/downloading.html) 25 26 `$ export branch=master` 27 28 `$ mkdir ${branch}` 29 30 `$ cd ${branch}` 31 32 `$ repo init -b ${branch} -u persistent https://android.googlesource.com/platform/manifest` 33 34 `$ repo sync -j 8` 35 36 ### 1.3. Build an Android image 37 38 `$ cd ${branch}` 39 40 `$ . build/make/envsetup.sh` 41 42 `$ lunch aosp_arm64-userdebug # or <your device>-userdebug` 43 44 The below is an optional step: 45 46 `$ make -j 8` 47 48 If this fails, please do: 49 50 `$ repo sync -j 8` 51 52 `$ make -j 8` 53 54 Such can happen because tip of tree (ToT) may not always be buildable. 55 56 ### 1.4. Build a VTS package 57 58 `$ cd ${branch}` 59 60 `$ make vts -j8` 61 62 Or use the exact command: 63 64 `$ make -j8 vts showcommands dist TARGET_PRODUCT=aosp_arm64 WITH_DEXPREOPT=false TARGET_BUILD_VARIANT=userdebug` 65 66 ### 1.5. Connect to an Android device 67 68 Let's connect an Android device and a host computer using a USB cable. 69 70 * On an Android device, Setting -> About Phone -> Click repeatedly 'Build number' until developer mode is enabled. 71 * On an Android device, Setting -> Developer options -> Turn on 'USB debugging' 72 * On a host, run `adb devices` from a command line shell. 73 * On a Android device, confirm that the host is trusted. 74 * On a host, type `adb shell` and if that works, we're ready. 75 76 ## 2. Run VTS Tests 77 78 ### <a name="run_vts" /> 2.1. Run a VTS test plan 79 80 For Linux users, 81 82 `$ vts-tradefed` 83 84 `> run vts` 85 86 For Windows users, please build on Linux. Then copy the following zip file to Windows and extract it. 87 88 `out/host/linux-x86/vts/android-vts.zip` 89 90 Launch the batch file in the extracted folder. 91 92 `$ android-vts\tools\vts-tradefed_win.bat` 93 94 `> run vts` 95 96 Example stdout: 97 98 ``` 99 100 101 08-16 09:36:03 I/ResultReporter: Saved logs for device_logcat in .../out/host/linux-x86/vts/android-vts/logs/2016.08.16_09.17.13/device_logcat_7912321856562095748.zip 102 08-16 09:36:03 I/ResultReporter: Saved logs for host_log in .../out/host/linux-x86/vts/android-vts/logs/2016.08.16_09.17.13/host_log_2775945280523850018.zip 103 08-16 09:36:04 I/ResultReporter: Invocation finished in 18m 50s. PASSED: 18, FAILED: 0, NOT EXECUTED: 2, MODULES: 8 of 10 104 08-16 09:36:04 I/ResultReporter: Test Result: .../out/host/linux-x86/vts/android-vts/results/2016.08.16_09.17.13/test_result.xml 105 08-16 09:36:04 I/ResultReporter: Full Result: .../out/host/linux-x86/vts/android-vts/results/2016.08.16_09.17.13.zip 106 ``` 107 108 ### 2.2. Test report for APFE (Android Partner Front-End) 109 110 The uploadable report xml file can be found at 111 112 `out/host/linux-x86/vts/android-vts/results/` 113 114 After Android O release, you will be able to upload that xml file to [AFPE](https://partner.android.com) 115 and obtain a certificate. 116 117 ### 2.3. Check the test logs 118 119 `$ vi out/host/linux-x86/vts/android-vts/logs/` 120 121 Then select a directory which captures the time stamp of your test run (e.g., 2016.08.16_09.17.13). 122 123 Then select `host_log_<timestamp>.zip` and host_log.txt in that zip file for host log. 124 125 Then select `device_logcat_<timestamp>.zip` and device_logcat.txt in that zip file for device log. 126 127 ## 3. Run Options for Advanced Users 128 129 ### 3.1. List of VTS Plans 130 131 Documented at [here](../tools/vts-tradefed/res/config/plans.md). 132 133 ### 3.2. Run kernel test cases 134 135 LTP (Linux Test Project) is part of vts-kernel. 136 [This doc](developer_testing/kernel/ltp.md) shows how to run each LTP test case. 137 138 ## 4. Debugging 139 140 ### 4.1. Run VTS tests directly for debugging 141 142 [Run directly from command line](testcase_develop_manual/run_vts_directly.md) 143