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

Side by Side Diff: scripts/slave/recipe_modules/amp/example.expected/normal_example_basic.json

Issue 1115453002: Recipes: make cwd default to slave_build (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: rebase Created 5 years, 7 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 | Annotate | Revision Log
OLDNEW
1 [ 1 [
2 { 2 {
3 "cmd": [ 3 "cmd": [
4 "python", 4 "python",
5 "-u", 5 "-u",
6 "[SLAVE_BUILD]/src/build/android/test_runner.py", 6 "[SLAVE_BUILD]/src/build/android/test_runner.py",
7 "gtest", 7 "gtest",
8 "-s", 8 "-s",
9 "example_gtest_suite", 9 "example_gtest_suite",
10 "--enable-platform-mode", 10 "--enable-platform-mode",
(...skipping 12 matching lines...) Expand all
23 "--device-type", 23 "--device-type",
24 "Android", 24 "Android",
25 "--remote-device", 25 "--remote-device",
26 "SampleDevice", 26 "SampleDevice",
27 "--remote-device-os", 27 "--remote-device-os",
28 "SampleDeviceOS", 28 "SampleDeviceOS",
29 "--trigger", 29 "--trigger",
30 "/path/to/tmp/json", 30 "/path/to/tmp/json",
31 "--verbose" 31 "--verbose"
32 ], 32 ],
33 "cwd": "[SLAVE_BUILD]",
33 "name": "[trigger] example_gtest_suite", 34 "name": "[trigger] example_gtest_suite",
34 "~followup_annotations": [ 35 "~followup_annotations": [
35 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@", 36 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@",
36 "@@@STEP_LOG_LINE@json.output@{@@@", 37 "@@@STEP_LOG_LINE@json.output@{@@@",
37 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@", 38 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@",
38 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@", 39 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@",
39 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@", 40 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@",
40 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@", 41 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@",
41 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@", 42 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@",
42 "@@@STEP_LOG_LINE@json.output@ }@@@", 43 "@@@STEP_LOG_LINE@json.output@ }@@@",
43 "@@@STEP_LOG_LINE@json.output@ }@@@", 44 "@@@STEP_LOG_LINE@json.output@ }@@@",
44 "@@@STEP_LOG_LINE@json.output@}@@@", 45 "@@@STEP_LOG_LINE@json.output@}@@@",
45 "@@@STEP_LOG_END@json.output@@@" 46 "@@@STEP_LOG_END@json.output@@@"
46 ] 47 ]
47 }, 48 },
48 { 49 {
49 "cmd": [ 50 "cmd": [
50 "python", 51 "python",
51 "-u", 52 "-u",
52 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 53 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
53 "{\"env\": {\"device\": {\"brand\": \"Foo\", \"name\": \"Fone\", \"os_vers ion\": \"1.2.3\"}}}", 54 "{\"env\": {\"device\": {\"brand\": \"Foo\", \"name\": \"Fone\", \"os_vers ion\": \"1.2.3\"}}}",
54 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json" 55 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json"
55 ], 56 ],
57 "cwd": "[SLAVE_BUILD]",
56 "name": "[trigger] save example_gtest_suite data" 58 "name": "[trigger] save example_gtest_suite data"
57 }, 59 },
58 { 60 {
59 "cmd": [ 61 "cmd": [
60 "python", 62 "python",
61 "-u", 63 "-u",
62 "[SLAVE_BUILD]/src/build/android/test_runner.py", 64 "[SLAVE_BUILD]/src/build/android/test_runner.py",
63 "uirobot", 65 "uirobot",
64 "--minutes", 66 "--minutes",
65 "5", 67 "5",
(...skipping 15 matching lines...) Expand all
81 "--device-type", 83 "--device-type",
82 "Android", 84 "Android",
83 "--remote-device", 85 "--remote-device",
84 "SampleDevice", 86 "SampleDevice",
85 "--remote-device-os", 87 "--remote-device-os",
86 "SampleDeviceOS", 88 "SampleDeviceOS",
87 "--trigger", 89 "--trigger",
88 "/path/to/tmp/json", 90 "/path/to/tmp/json",
89 "--verbose" 91 "--verbose"
90 ], 92 ],
93 "cwd": "[SLAVE_BUILD]",
91 "name": "[trigger] example_uirobot_suite", 94 "name": "[trigger] example_uirobot_suite",
92 "~followup_annotations": [ 95 "~followup_annotations": [
93 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@", 96 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@",
94 "@@@STEP_LOG_LINE@json.output@{@@@", 97 "@@@STEP_LOG_LINE@json.output@{@@@",
95 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@", 98 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@",
96 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@", 99 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@",
97 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@", 100 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@",
98 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@", 101 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@",
99 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@", 102 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@",
100 "@@@STEP_LOG_LINE@json.output@ }@@@", 103 "@@@STEP_LOG_LINE@json.output@ }@@@",
101 "@@@STEP_LOG_LINE@json.output@ }@@@", 104 "@@@STEP_LOG_LINE@json.output@ }@@@",
102 "@@@STEP_LOG_LINE@json.output@}@@@", 105 "@@@STEP_LOG_LINE@json.output@}@@@",
103 "@@@STEP_LOG_END@json.output@@@" 106 "@@@STEP_LOG_END@json.output@@@"
104 ] 107 ]
105 }, 108 },
106 { 109 {
107 "cmd": [ 110 "cmd": [
108 "python", 111 "python",
109 "-u", 112 "-u",
110 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 113 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
111 "{\"env\": {\"device\": {\"brand\": \"Foo\", \"name\": \"Fone\", \"os_vers ion\": \"1.2.3\"}}}", 114 "{\"env\": {\"device\": {\"brand\": \"Foo\", \"name\": \"Fone\", \"os_vers ion\": \"1.2.3\"}}}",
112 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json" 115 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json"
113 ], 116 ],
117 "cwd": "[SLAVE_BUILD]",
114 "name": "[trigger] save example_uirobot_suite data" 118 "name": "[trigger] save example_uirobot_suite data"
115 }, 119 },
116 { 120 {
117 "cmd": [ 121 "cmd": [
118 "python", 122 "python",
119 "-u", 123 "-u",
120 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 124 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
121 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json", 125 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json",
122 "/path/to/tmp/json" 126 "/path/to/tmp/json"
123 ], 127 ],
128 "cwd": "[SLAVE_BUILD]",
124 "name": "[collect] load example_gtest_suite data", 129 "name": "[collect] load example_gtest_suite data",
125 "~followup_annotations": [ 130 "~followup_annotations": [
126 "@@@STEP_LOG_LINE@json.output@{@@@", 131 "@@@STEP_LOG_LINE@json.output@{@@@",
127 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@", 132 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@",
128 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@", 133 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@",
129 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@", 134 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@",
130 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@", 135 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@",
131 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@", 136 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@",
132 "@@@STEP_LOG_LINE@json.output@ }@@@", 137 "@@@STEP_LOG_LINE@json.output@ }@@@",
133 "@@@STEP_LOG_LINE@json.output@ }@@@", 138 "@@@STEP_LOG_LINE@json.output@ }@@@",
(...skipping 23 matching lines...) Expand all
157 "--api-protocol", 162 "--api-protocol",
158 "http", 163 "http",
159 "--device-type", 164 "--device-type",
160 "Android", 165 "Android",
161 "--collect", 166 "--collect",
162 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json", 167 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json",
163 "--results-path", 168 "--results-path",
164 "[TMP_BASE]/amp_results_tmp_2/example_gtest_suite/results.zip", 169 "[TMP_BASE]/amp_results_tmp_2/example_gtest_suite/results.zip",
165 "--verbose" 170 "--verbose"
166 ], 171 ],
172 "cwd": "[SLAVE_BUILD]",
167 "name": "[collect] example_gtest_suite", 173 "name": "[collect] example_gtest_suite",
168 "~followup_annotations": [ 174 "~followup_annotations": [
169 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@" 175 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@"
170 ] 176 ]
171 }, 177 },
172 { 178 {
173 "cmd": [ 179 "cmd": [
174 "python", 180 "python",
175 "-u", 181 "-u",
176 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 182 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
177 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json", 183 "[TMP_BASE]/amp_trigger_tmp_1/example_gtest_suite.json",
178 "/path/to/tmp/json" 184 "/path/to/tmp/json"
179 ], 185 ],
186 "cwd": "[SLAVE_BUILD]",
180 "name": "[upload logcat] load example_gtest_suite data", 187 "name": "[upload logcat] load example_gtest_suite data",
181 "~followup_annotations": [ 188 "~followup_annotations": [
182 "@@@STEP_LOG_LINE@json.output@{@@@", 189 "@@@STEP_LOG_LINE@json.output@{@@@",
183 "@@@STEP_LOG_LINE@json.output@ \"test_run\": {@@@", 190 "@@@STEP_LOG_LINE@json.output@ \"test_run\": {@@@",
184 "@@@STEP_LOG_LINE@json.output@ \"test_run_id\": \"12345abcde\"@@@", 191 "@@@STEP_LOG_LINE@json.output@ \"test_run_id\": \"12345abcde\"@@@",
185 "@@@STEP_LOG_LINE@json.output@ }@@@", 192 "@@@STEP_LOG_LINE@json.output@ }@@@",
186 "@@@STEP_LOG_LINE@json.output@}@@@", 193 "@@@STEP_LOG_LINE@json.output@}@@@",
187 "@@@STEP_LOG_END@json.output@@@" 194 "@@@STEP_LOG_END@json.output@@@"
188 ] 195 ]
189 }, 196 },
190 { 197 {
191 "cmd": [ 198 "cmd": [
192 "python", 199 "python",
193 "-u", 200 "-u",
194 "RECIPE_MODULE[zip]/resources/unzip.py" 201 "RECIPE_MODULE[zip]/resources/unzip.py"
195 ], 202 ],
203 "cwd": "[SLAVE_BUILD]",
196 "name": "[upload logcat] unzip results for example_gtest_suite", 204 "name": "[upload logcat] unzip results for example_gtest_suite",
197 "stdin": "{\"output\": \"[TMP_BASE]/amp_results_tmp_2/example_gtest_suite/un zipped_results\", \"use_python_zip\": false, \"zip_file\": \"[TMP_BASE]/amp_resu lts_tmp_2/example_gtest_suite/results.zip\"}" 205 "stdin": "{\"output\": \"[TMP_BASE]/amp_results_tmp_2/example_gtest_suite/un zipped_results\", \"use_python_zip\": false, \"zip_file\": \"[TMP_BASE]/amp_resu lts_tmp_2/example_gtest_suite/results.zip\"}"
198 }, 206 },
199 { 207 {
200 "cmd": [ 208 "cmd": [
201 "python", 209 "python",
202 "-u", 210 "-u",
203 "RECIPE_MODULE[gsutil]/resources/gsutil_wrapper.py", 211 "RECIPE_MODULE[gsutil]/resources/gsutil_wrapper.py",
204 "--", 212 "--",
205 "[DEPOT_TOOLS]/gsutil.py", 213 "[DEPOT_TOOLS]/gsutil.py",
206 "--force-version", 214 "--force-version",
207 "3.25", 215 "3.25",
208 "--", 216 "--",
209 "cp", 217 "cp",
210 "[TMP_BASE]/amp_results_tmp_2/example_gtest_suite/unzipped_results/appurif y_results/logcat.txt", 218 "[TMP_BASE]/amp_results_tmp_2/example_gtest_suite/unzipped_results/appurif y_results/logcat.txt",
211 "gs://chrome-amp-results/logcats/logcat_example_gtest_suite_12345abcde.txt " 219 "gs://chrome-amp-results/logcats/logcat_example_gtest_suite_12345abcde.txt "
212 ], 220 ],
221 "cwd": "[SLAVE_BUILD]",
213 "name": "gsutil [upload logcat] example_gtest_suite", 222 "name": "gsutil [upload logcat] example_gtest_suite",
214 "~followup_annotations": [ 223 "~followup_annotations": [
215 "@@@STEP_LINK@logcat@https://storage.cloud.google.com/chrome-amp-results/l ogcats/logcat_example_gtest_suite_12345abcde.txt@@@" 224 "@@@STEP_LINK@logcat@https://storage.cloud.google.com/chrome-amp-results/l ogcats/logcat_example_gtest_suite_12345abcde.txt@@@"
216 ] 225 ]
217 }, 226 },
218 { 227 {
219 "cmd": [ 228 "cmd": [
220 "python", 229 "python",
221 "-u", 230 "-u",
222 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 231 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
223 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json", 232 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json",
224 "/path/to/tmp/json" 233 "/path/to/tmp/json"
225 ], 234 ],
235 "cwd": "[SLAVE_BUILD]",
226 "name": "[collect] load example_uirobot_suite data", 236 "name": "[collect] load example_uirobot_suite data",
227 "~followup_annotations": [ 237 "~followup_annotations": [
228 "@@@STEP_LOG_LINE@json.output@{@@@", 238 "@@@STEP_LOG_LINE@json.output@{@@@",
229 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@", 239 "@@@STEP_LOG_LINE@json.output@ \"env\": {@@@",
230 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@", 240 "@@@STEP_LOG_LINE@json.output@ \"device\": {@@@",
231 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@", 241 "@@@STEP_LOG_LINE@json.output@ \"brand\": \"Foo\", @@@",
232 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@", 242 "@@@STEP_LOG_LINE@json.output@ \"name\": \"Fone\", @@@",
233 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@", 243 "@@@STEP_LOG_LINE@json.output@ \"os_version\": \"1.2.3\"@@@",
234 "@@@STEP_LOG_LINE@json.output@ }@@@", 244 "@@@STEP_LOG_LINE@json.output@ }@@@",
235 "@@@STEP_LOG_LINE@json.output@ }@@@", 245 "@@@STEP_LOG_LINE@json.output@ }@@@",
(...skipping 23 matching lines...) Expand all
259 "--api-protocol", 269 "--api-protocol",
260 "http", 270 "http",
261 "--device-type", 271 "--device-type",
262 "Android", 272 "Android",
263 "--collect", 273 "--collect",
264 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json", 274 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json",
265 "--results-path", 275 "--results-path",
266 "[TMP_BASE]/amp_results_tmp_2/example_uirobot_suite/results.zip", 276 "[TMP_BASE]/amp_results_tmp_2/example_uirobot_suite/results.zip",
267 "--verbose" 277 "--verbose"
268 ], 278 ],
279 "cwd": "[SLAVE_BUILD]",
269 "name": "[collect] example_uirobot_suite", 280 "name": "[collect] example_uirobot_suite",
270 "~followup_annotations": [ 281 "~followup_annotations": [
271 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@" 282 "@@@STEP_TEXT@on Foo Fone 1.2.3@@@"
272 ] 283 ]
273 }, 284 },
274 { 285 {
275 "cmd": [ 286 "cmd": [
276 "python", 287 "python",
277 "-u", 288 "-u",
278 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 289 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
279 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json", 290 "[TMP_BASE]/amp_trigger_tmp_1/example_uirobot_suite.json",
280 "/path/to/tmp/json" 291 "/path/to/tmp/json"
281 ], 292 ],
293 "cwd": "[SLAVE_BUILD]",
282 "name": "[upload logcat] load example_uirobot_suite data", 294 "name": "[upload logcat] load example_uirobot_suite data",
283 "~followup_annotations": [ 295 "~followup_annotations": [
284 "@@@STEP_LOG_LINE@json.output@{@@@", 296 "@@@STEP_LOG_LINE@json.output@{@@@",
285 "@@@STEP_LOG_LINE@json.output@ \"test_run\": {@@@", 297 "@@@STEP_LOG_LINE@json.output@ \"test_run\": {@@@",
286 "@@@STEP_LOG_LINE@json.output@ \"test_run_id\": \"12345abcde\"@@@", 298 "@@@STEP_LOG_LINE@json.output@ \"test_run_id\": \"12345abcde\"@@@",
287 "@@@STEP_LOG_LINE@json.output@ }@@@", 299 "@@@STEP_LOG_LINE@json.output@ }@@@",
288 "@@@STEP_LOG_LINE@json.output@}@@@", 300 "@@@STEP_LOG_LINE@json.output@}@@@",
289 "@@@STEP_LOG_END@json.output@@@" 301 "@@@STEP_LOG_END@json.output@@@"
290 ] 302 ]
291 }, 303 },
292 { 304 {
293 "cmd": [ 305 "cmd": [
294 "python", 306 "python",
295 "-u", 307 "-u",
296 "RECIPE_MODULE[zip]/resources/unzip.py" 308 "RECIPE_MODULE[zip]/resources/unzip.py"
297 ], 309 ],
310 "cwd": "[SLAVE_BUILD]",
298 "name": "[upload logcat] unzip results for example_uirobot_suite", 311 "name": "[upload logcat] unzip results for example_uirobot_suite",
299 "stdin": "{\"output\": \"[TMP_BASE]/amp_results_tmp_2/example_uirobot_suite/ unzipped_results\", \"use_python_zip\": false, \"zip_file\": \"[TMP_BASE]/amp_re sults_tmp_2/example_uirobot_suite/results.zip\"}" 312 "stdin": "{\"output\": \"[TMP_BASE]/amp_results_tmp_2/example_uirobot_suite/ unzipped_results\", \"use_python_zip\": false, \"zip_file\": \"[TMP_BASE]/amp_re sults_tmp_2/example_uirobot_suite/results.zip\"}"
300 }, 313 },
301 { 314 {
302 "cmd": [ 315 "cmd": [
303 "python", 316 "python",
304 "-u", 317 "-u",
305 "RECIPE_MODULE[gsutil]/resources/gsutil_wrapper.py", 318 "RECIPE_MODULE[gsutil]/resources/gsutil_wrapper.py",
306 "--", 319 "--",
307 "[DEPOT_TOOLS]/gsutil.py", 320 "[DEPOT_TOOLS]/gsutil.py",
308 "--force-version", 321 "--force-version",
309 "3.25", 322 "3.25",
310 "--", 323 "--",
311 "cp", 324 "cp",
312 "[TMP_BASE]/amp_results_tmp_2/example_uirobot_suite/unzipped_results/appur ify_results/logcat.txt", 325 "[TMP_BASE]/amp_results_tmp_2/example_uirobot_suite/unzipped_results/appur ify_results/logcat.txt",
313 "gs://chrome-amp-results/logcats/logcat_example_uirobot_suite_12345abcde.t xt" 326 "gs://chrome-amp-results/logcats/logcat_example_uirobot_suite_12345abcde.t xt"
314 ], 327 ],
328 "cwd": "[SLAVE_BUILD]",
315 "name": "gsutil [upload logcat] example_uirobot_suite", 329 "name": "gsutil [upload logcat] example_uirobot_suite",
316 "~followup_annotations": [ 330 "~followup_annotations": [
317 "@@@STEP_LINK@logcat@https://storage.cloud.google.com/chrome-amp-results/l ogcats/logcat_example_uirobot_suite_12345abcde.txt@@@" 331 "@@@STEP_LINK@logcat@https://storage.cloud.google.com/chrome-amp-results/l ogcats/logcat_example_uirobot_suite_12345abcde.txt@@@"
318 ] 332 ]
319 } 333 }
320 ] 334 ]
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698