def ProcessUIAutomatorOptions(args): """Processes UIAutomator options/arguments. Args: args: argparse.Namespace object. Returns: A UIAutomatorOptions named tuple which contains all options relevant to uiautomator tests. """ ProcessJavaTestOptions(args) if os.path.exists(args.test_jar): # The dexed JAR is fully qualified, assume the info JAR lives along side. args.uiautomator_jar = args.test_jar else: args.uiautomator_jar = os.path.join(constants.GetOutDirectory(), constants.SDK_BUILD_JAVALIB_DIR, '%s.dex.jar' % args.test_jar) args.uiautomator_info_jar = ( args.uiautomator_jar[:args.uiautomator_jar.find('.dex.jar')] + '_java.jar') return uiautomator_test_options.UIAutomatorOptions( args.tool, args.annotations, args.exclude_annotations, args.test_filter, args.test_data, args.save_perf_json, args.screenshot_failures, args.uiautomator_jar, args.uiautomator_info_jar, args.package, args.set_asserts)
def ProcessUIAutomatorOptions(options, error_func): """Processes UIAutomator options/arguments. Args: options: optparse.Options object. error_func: Function to call with the error message in case of an error. Returns: A UIAutomatorOptions named tuple which contains all options relevant to uiautomator tests. """ ProcessJavaTestOptions(options) if not options.package: error_func('--package is required.') if options.package not in constants.PACKAGE_INFO: error_func('Invalid package.') if not options.test_jar: error_func('--test-jar must be specified.') if os.path.exists(options.test_jar): # The dexed JAR is fully qualified, assume the info JAR lives along side. options.uiautomator_jar = options.test_jar else: options.uiautomator_jar = os.path.join( constants.GetOutDirectory(), constants.SDK_BUILD_JAVALIB_DIR, '%s.dex.jar' % options.test_jar) options.uiautomator_info_jar = ( options.uiautomator_jar[:options.uiautomator_jar.find('.dex.jar')] + '_java.jar') return uiautomator_test_options.UIAutomatorOptions( options.tool, options.cleanup_test_files, options.push_deps, options.annotations, options.exclude_annotations, options.test_filter, options.test_data, options.save_perf_json, options.screenshot_failures, options.uiautomator_jar, options.uiautomator_info_jar, options.package)