[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/learningpro/pytype/main/build_scripts/run_cc_test.py [Back]  [Original]

#!/usr/bin/env python
"""Script to run a C++ unit test binary.

Usage:

$> python run_cc_test.py -t TARGET -b BINARY [-l LOGFILE]

TARGET is the fully qualified name of the test target. BINARY is the test
binary. If LOGFILE is specified, then the test output is logged into it.
"""

import argparse
import sys

import build_utils

def parse_args():
  parser = argparse.ArgumentParser()
  parser.add_argument("-t", "--target", required=True, type=str,
                      help="Name of the test target.")
  parser.add_argument("-b", "--binary", required=True, type=str,
                      help="Path to the test binary.")
  parser.add_argument("-l", "--logfile", type=str,
                      help="Path to log file to log test output.")
  return parser.parse_args()


def main():
  options = parse_args()
  returncode, stdout = build_utils.run_cmd([options.binary])
  if options.logfile:
    with open(options.logfile, "w") as logfile:
      logfile.write(stdout)
  if returncode == 0:
    print(build_utils.pass_msg(options.target))
  else:
    print(build_utils.failure_msg(options.target, options.logfile))
    sys.exit(1)


if __name__ == "__main__":
  main()

Web Proxy Viewer  |  New URL  |  Original Page