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

Side by Side Diff: build/android/pylib/gtest/gtest_test_instance.py

Issue 2752493002: [android] Add support for passing command-line flags directly. (Closed)
Patch Set: Created 3 years, 9 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
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import HTMLParser 5 import HTMLParser
6 import logging 6 import logging
7 import os 7 import os
8 import re 8 import re
9 import tempfile 9 import tempfile
10 import threading 10 import threading
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 self._app_data_files = args.app_data_files 325 self._app_data_files = args.app_data_files
326 if args.app_data_file_dir: 326 if args.app_data_file_dir:
327 self._app_data_file_dir = args.app_data_file_dir 327 self._app_data_file_dir = args.app_data_file_dir
328 else: 328 else:
329 self._app_data_file_dir = tempfile.mkdtemp() 329 self._app_data_file_dir = tempfile.mkdtemp()
330 logging.critical('Saving app files to %s', self._app_data_file_dir) 330 logging.critical('Saving app files to %s', self._app_data_file_dir)
331 else: 331 else:
332 self._app_data_files = None 332 self._app_data_files = None
333 self._app_data_file_dir = None 333 self._app_data_file_dir = None
334 334
335 self._test_arguments = args.test_arguments 335 self._flags = None
336 self._initializeCommandLineFlags(args)
336 337
337 # TODO(jbudorick): Remove this once it's deployed. 338 # TODO(jbudorick): Remove this once it's deployed.
338 self._enable_xml_result_parsing = args.enable_xml_result_parsing 339 self._enable_xml_result_parsing = args.enable_xml_result_parsing
339 340
341 def _initializeCommandLineFlags(self, args):
342 self._flags = []
343 if args.command_line_flags:
344 self._flags.extend(args.command_line_flags)
345 if args.device_flags_file:
346 with open(args.device_flags_file) as f:
347 stripped_lines = (l.strip() for l in f)
348 self._flags.extend(flag for flag in stripped_lines if flag)
349 if args.run_disabled:
shenghuazhang 2017/03/14 05:45:05 If we need to append args.run_disabled in _flags,
jbudorick 2017/03/15 18:27:59 The disable mechanism works a bit differently for
350 self._flags.append('--gtest_also_run_disabled_tests')
mikecase (-- gone --) 2017/03/13 23:59:47 nit: wrong indentation
jbudorick 2017/03/15 18:27:59 oops
351 if args.test_arguments:
352 self._flags.extend(args.test_arguments.split())
353
340 @property 354 @property
341 def activity(self): 355 def activity(self):
342 return self._apk_helper and self._apk_helper.GetActivityName() 356 return self._apk_helper and self._apk_helper.GetActivityName()
343 357
344 @property 358 @property
345 def apk(self): 359 def apk(self):
346 return self._apk_helper and self._apk_helper.path 360 return self._apk_helper and self._apk_helper.path
347 361
348 @property 362 @property
349 def apk_helper(self): 363 def apk_helper(self):
(...skipping 13 matching lines...) Expand all
363 377
364 @property 378 @property
365 def exe_dist_dir(self): 379 def exe_dist_dir(self):
366 return self._exe_dist_dir 380 return self._exe_dist_dir
367 381
368 @property 382 @property
369 def extras(self): 383 def extras(self):
370 return self._extras 384 return self._extras
371 385
372 @property 386 @property
387 def flags(self):
388 return self._flags
389
390 @property
373 def gtest_also_run_disabled_tests(self): 391 def gtest_also_run_disabled_tests(self):
mikecase (-- gone --) 2017/03/13 23:59:47 Probably remove this since it is no longer used an
jbudorick 2017/03/15 18:27:59 Done.
374 return self._run_disabled 392 return self._run_disabled
375 393
376 @property 394 @property
377 def gtest_filter(self): 395 def gtest_filter(self):
378 return self._gtest_filter 396 return self._gtest_filter
379 397
380 @property 398 @property
381 def package(self): 399 def package(self):
382 return self._apk_helper and self._apk_helper.GetPackageName() 400 return self._apk_helper and self._apk_helper.GetPackageName()
383 401
(...skipping 15 matching lines...) Expand all
399 417
400 @property 418 @property
401 def suite(self): 419 def suite(self):
402 return self._suite 420 return self._suite
403 421
404 @property 422 @property
405 def test_apk_incremental_install_script(self): 423 def test_apk_incremental_install_script(self):
406 return self._test_apk_incremental_install_script 424 return self._test_apk_incremental_install_script
407 425
408 @property 426 @property
409 def test_arguments(self):
410 return self._test_arguments
411
412 @property
413 def extract_test_list_from_filter(self): 427 def extract_test_list_from_filter(self):
414 return self._extract_test_list_from_filter 428 return self._extract_test_list_from_filter
415 429
416 #override 430 #override
417 def TestType(self): 431 def TestType(self):
418 return 'gtest' 432 return 'gtest'
419 433
420 #override 434 #override
421 def SetUp(self): 435 def SetUp(self):
422 """Map data dependencies via isolate.""" 436 """Map data dependencies via isolate."""
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 '%s' % l for l in (line.strip() for line in disabled_tests_file) 499 '%s' % l for l in (line.strip() for line in disabled_tests_file)
486 if l and not l.startswith('#')] 500 if l and not l.startswith('#')]
487 501
488 return '*-%s' % ':'.join(disabled_filter_items) 502 return '*-%s' % ':'.join(disabled_filter_items)
489 503
490 #override 504 #override
491 def TearDown(self): 505 def TearDown(self):
492 """Do nothing.""" 506 """Do nothing."""
493 pass 507 pass
494 508
OLDNEW
« no previous file with comments | « no previous file | build/android/pylib/instrumentation/instrumentation_test_instance.py » ('j') | build/android/test_runner.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698