Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(55)

Side by Side Diff: docs/android_test_instructions.md

Issue 1421613003: Android: add documentation about junit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Android Test Instructions 1 # Android Test Instructions
2 2
3 Device Setup Tests are runnable on physical devices or emulators. See the 3 Device Setup Tests are runnable on physical devices or emulators. See the
4 instructions below for setting up either a physical device or an emulator. 4 instructions below for setting up either a physical device or an emulator.
5 5
6 [TOC] 6 [TOC]
7 7
8 ## Physical Device Setup **ADB Debugging** 8 ## Physical Device Setup **ADB Debugging**
9 9
10 In order to allow the ADB to connect to the device, you must enable USB 10 In order to allow the ADB to connect to the device, you must enable USB
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 help on a specific test type, run `test_runner.py <test_type> --help`. 117 help on a specific test type, run `test_runner.py <test_type> --help`.
118 118
119 The commands used by the buildbots are printed in the logs. Look at 119 The commands used by the buildbots are printed in the logs. Look at
120 http://build.chromium.org/ to duplicate the same test command as a particular 120 http://build.chromium.org/ to duplicate the same test command as a particular
121 builder. 121 builder.
122 122
123 If you build in an output directory other than "out", you may have to tell 123 If you build in an output directory other than "out", you may have to tell
124 test\_runner.py where you place it. Say you build your android code in 124 test\_runner.py where you place it. Say you build your android code in
125 out\_android, then do `export CHROMIUM_OUT_DIR=out_android` before running the 125 out\_android, then do `export CHROMIUM_OUT_DIR=out_android` before running the
126 command below. You have to do this even if your "out" directory is a symlink 126 command below. You have to do this even if your "out" directory is a symlink
127 pointing to "out_android". 127 pointing to "out_android". You can also use ```--output-directory``` to point
dgn 2015/10/22 18:09:23 I think triple backtick make a new paragraph. Did
mlamouri (slow - plz ping) 2015/10/23 13:20:10 No.
Bernhard Bauer 2015/10/23 15:20:21 But if you only want code markup, single backticks
dgn 2015/10/26 10:12:05 It would also be consistent with the code in the r
128 to the path of your output directory, for example,
129 ```--output-directory=out_android/Debug```.
128 130
129 ## INSTALL\_FAILED\_CONTAINER\_ERROR or INSTALL\_FAILED\_INSUFFICIENT\_STORAGE 131 ## INSTALL\_FAILED\_CONTAINER\_ERROR or INSTALL\_FAILED\_INSUFFICIENT\_STORAGE
130 132
131 If you see this error when test\_runner.py is attempting to deploy the test 133 If you see this error when test\_runner.py is attempting to deploy the test
132 binaries to the AVD emulator, you may need to resize your userdata partition 134 binaries to the AVD emulator, you may need to resize your userdata partition
133 with the following commands: 135 with the following commands:
134 136
135 ```shell 137 ```shell
136 # Resize userdata partition to be 1G 138 # Resize userdata partition to be 1G
137 resize2fs android_emulator_sdk/sdk/system-images/android-19/x86/userdata.img 1G 139 resize2fs android_emulator_sdk/sdk/system-images/android-19/x86/userdata.img 1G
138 140
139 # Set filesystem parameter to continue on errors; Android doesn't like some 141 # Set filesystem parameter to continue on errors; Android doesn't like some
140 # things e2fsprogs does. 142 # things e2fsprogs does.
141 tune2fs -e continue android_emulator_sdk/sdk/system-images/android-19/x86/userda ta.img 143 tune2fs -e continue android_emulator_sdk/sdk/system-images/android-19/x86/userda ta.img
142 ``` 144 ```
143 145
144 ## Symbolizing Crashes 146 ## Symbolizing Crashes
145 147
146 Crash stacks are logged and can be viewed using adb logcat. To symbolize the 148 Crash stacks are logged and can be viewed using adb logcat. To symbolize the
147 traces, pipe the output through 149 traces, pipe the output through
148 `third_party/android_platform/development/scripts/stack`. If you build in an 150 `third_party/android_platform/development/scripts/stack`. If you build in an
149 output directory other than "out", pass 151 output directory other than "out", pass
150 `--chrome-symbols-dir=out_directory/{Debug,Release}/lib` to the script as well. 152 `--chrome-symbols-dir=out_directory/{Debug,Release}/lib` to the script as well.
151 153
154 ## Junit tests
Bernhard Bauer 2015/10/22 16:19:12 Nit: JUnit (capital U) here and elsewhere.
mlamouri (slow - plz ping) 2015/10/23 13:20:10 Done.
155
156 Junit tests are Java unittests running on the host instead of the target device.
157 They are faster to run and therefore are recommended over instrumentation tests
158 when possible.
159
160 There are two junit test suites: ```content_junit_tests``` and
161 ```chrome_junit_tests```.
Bernhard Bauer 2015/10/22 16:19:12 There are more JUnit test suites than that, e.g. b
dgn 2015/10/22 18:09:23 I wish there was a unified junit target with all t
mlamouri (slow - plz ping) 2015/10/23 13:20:10 Changed to mention content_junit_tests and chrome_
162
163 When adding a new junit test, the associated ```BUILD.gn``` file need to be
164 updated. For ```chrome_junit_tests```, this is ```chrome/android/BUILD.gn``` and
165 for ```content_junit_tests```, this is ```content/public/android/BUILD.gn```.
166
167 ```shell
168 # Build the test suite.
169 ninja -C out/Release content_junit_tests
170 ninja -C out/Release chrome_junit_tests
171
172 # Run the test suite.
173 build/android/test_runner.py junit -s content_junit_tests --release -vvv
174 build/android/test_runner.py junit -s chrome_junit_tests --release -vvv
175
176 # Run a subset of tests. Contrary to gtests and instrumentation tests, the
177 entire package name has to be used.
dgn 2015/10/22 18:09:23 Not true. This is working for me: net_junit_tests
mlamouri (slow - plz ping) 2015/10/23 13:20:10 Made the comment less assertive.
Bernhard Bauer 2015/10/23 15:20:21 I think the full package name is matched against t
178 build/android/test_runner.py junit -s chrome_junit_tests --release -vvv
179 -f "org.chromium.chrome.browser.media.*"
180 ```
181
152 ## Gtests 182 ## Gtests
153 183
154 ```shell 184 ```shell
155 # Build a test suite 185 # Build a test suite
156 ninja -C out/Release content_unittests_apk 186 ninja -C out/Release content_unittests_apk
157 187
158 # Run a test suite 188 # Run a test suite
159 build/android/test_runner.py gtest -s content_unittests --release -vvv 189 build/android/test_runner.py gtest -s content_unittests --release -vvv
160 190
161 # Run a subset of tests 191 # Run a subset of tests
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 See 285 See
256 https://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tes ts 286 https://sites.google.com/a/chromium.org/dev/developers/testing/webkit-layout-tes ts
257 287
258 ## Running GPU tests 288 ## Running GPU tests
259 289
260 (e.g. the "Android Debug (Nexus 7)" bot on the chromium.gpu waterfall) 290 (e.g. the "Android Debug (Nexus 7)" bot on the chromium.gpu waterfall)
261 291
262 See http://www.chromium.org/developers/testing/gpu-testing for details. Use 292 See http://www.chromium.org/developers/testing/gpu-testing for details. Use
263 --browser=android-content-shell. Examine the stdio from the test invocation on 293 --browser=android-content-shell. Examine the stdio from the test invocation on
264 the bots to see arguments to pass to src/content/test/gpu/run\_gpu\_test.py. 294 the bots to see arguments to pass to src/content/test/gpu/run\_gpu\_test.py.
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698