|  | #!/usr/bin/env python | 
|  | # | 
|  | # Copyright 2018 The Chromium Authors. All rights reserved. | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  |  | 
|  | """Deploys and executes a packaged Fuchsia executable on a target.""" | 
|  |  | 
|  | import argparse | 
|  | import logging | 
|  | import sys | 
|  |  | 
|  | from common_args import AddCommonArgs, ConfigureLogging, \ | 
|  | GetDeploymentTargetForArgs | 
|  | from run_package import RunPackage | 
|  |  | 
|  |  | 
|  | def main(): | 
|  | parser = argparse.ArgumentParser() | 
|  | AddCommonArgs(parser) | 
|  | parser.add_argument('child_args', nargs='*', | 
|  | help='Arguments for the test process.') | 
|  | args = parser.parse_args() | 
|  | ConfigureLogging(args) | 
|  |  | 
|  | with GetDeploymentTargetForArgs(args) as target: | 
|  | target.Start() | 
|  | return RunPackage( | 
|  | args.output_directory, target, args.package, args.package_name, | 
|  | args.child_args, args.include_system_logs, args.package_manifest) | 
|  |  | 
|  |  | 
|  | if __name__ == '__main__': | 
|  | sys.exit(main()) |