Exemple #1
0
def _run_init(argv):
  """Does one-time initialization and re-parses flags on rerun."""
  if _run_init.done:
    return parse_flags_with_usage(argv)
  command_name.make_process_name_useful()
  # Set up absl logging handler.
  logging.use_absl_handler()
  argv = register_and_parse_flags_with_usage(argv=argv)
  if faulthandler:
    try:
      faulthandler.enable()
    except Exception:  # pylint: disable=broad-except
      # Some tests verify stderr output very closely, so don't print anything.
      # Disabled faulthandler is a low-impact error.
      pass
  _run_init.done = True
  return argv
Exemple #2
0
def _run_init(argv):
    """Does one-time initialization and re-parses flags on rerun."""
    if _run_init.done:
        return parse_flags_with_usage(argv)
    command_name.make_process_name_useful()
    # Set up absl logging handler.
    logging.use_absl_handler()
    argv = _register_and_parse_flags_with_usage(argv=argv)
    if faulthandler:
        try:
            faulthandler.enable()
        except Exception:  # pylint: disable=broad-except
            # Some tests verify stderr output very closely, so don't print anything.
            # Disabled faulthandler is a low-impact error.
            pass
    _run_init.done = True
    return argv
Exemple #3
0
            if ch == 'r':
                shutil.rmtree(str(save_dir))
            elif ch == 'a':
                return

    save_dir.mkdir(exist_ok=True, parents=True)
    FLAGS.save_dir = save_dir
    logger.info(f'Saving log files to: {FLAGS.save_dir!s}')

    start = default_timer()
    expm.main(argv)
    dur = default_timer() - start
    logger.info(f'Experiment finished in {format_secs(dur)}')


def initialize_logging():
    logging.basicConfig(level=logging.INFO,
                        format='[%(asctime)s] [%(name)s] [%(levelname)s] %(message)s')


if __name__ == '__main__':
    command_name.make_process_name_useful()
    try:
        initialize_logging()
        sys.exit(main())
    except UsageError as error:
        usage(shorthelp=True, detailed_error=error, exitcode=error.exitcode)
    finally:
        reap_children()

Exemple #4
0
 def test_make_process_name_useful(self):
     test_name = 'hello.from.test'
     with mock.patch('sys.argv', [test_name]):
         command_name.make_process_name_useful()
     self.assertProcessNameSimilarTo(test_name)