def test_stdout(self, mock_stdout, mock_stderr): non_error_message = 'non-error message' Logger.init() Logger.info(non_error_message) self.assertEqual('', mock_stderr.getvalue()) self.assertEqual('{}\n'.format(non_error_message), mock_stdout.getvalue())
def main(argv=None): Logger.init() args = None cmd = None try: args = parse_args(argv) # Init loglevel early in case we'll run # into errors before setting it properly CmdBase._set_loglevel(args) cmd = args.func(args) ret = cmd.run_cmd() except KeyboardInterrupt as ex: Logger.error("Interrupted by the user", ex) ret = 252 except NotDvcProjectError as ex: Logger.error("", ex) ret = 253 except DvcParserError: ret = 254 except Exception as ex: Logger.error('Unexpected error', ex) ret = 255 Analytics().send_cmd(cmd, args, ret) return ret
def test_stderr(self, mock_stdout, mock_stderr): error_message = 'error msg' Logger.init() Logger.error(error_message) self.assertEqual('', mock_stdout.getvalue()) self.assertEqual( 'Error: {}\n\nHaving any troubles? ' 'Hit us up at dvc.org/support, we ' 'are always happy to help!\n'.format(error_message), mock_stderr.getvalue())
def test_empty_exc_msg(self, mock_stdout, mock_stderr, mock_logger): from dvc.exceptions import DvcException Logger.init() err_msg = 'msg' Logger.error(err_msg, exc=DvcException("")) self.assertEqual('', mock_stdout.getvalue()) self.assertEqual( 'Error: {}\n\nHaving any troubles? ' 'Hit us up at dvc.org/support, we ' 'are always happy to help!\n'.format(err_msg), mock_stderr.getvalue())
def test_msg_and_exc(self, mock_stdout, mock_stderr): from dvc.exceptions import DvcException Logger.init() err_msg = 'error' exc_msg = 'exception' Logger.error(err_msg, exc=DvcException(exc_msg)) self.assertEqual('', mock_stdout.getvalue()) self.assertEqual( 'Error: {}: {}\n\nHaving any troubles? ' 'Hit us up at dvc.org/support, we are always ' 'happy to help!\n'.format(err_msg, exc_msg), mock_stderr.getvalue())
def main(argv=None): Logger.init() args = parse_args(argv) try: cmd = args.func(args) except Exception as ex: Logger.error('Initialization error', ex) return 255 try: ret = cmd.run_cmd() except Exception as ex: Logger.error('Unexpected error', ex) return 254 return ret
def main(argv=None): Logger.init() args = parse_args(argv) # Init loglevel early in case we'll run # into errors before setting it properly CmdBase._set_loglevel(args) try: cmd = args.func(args) except Exception as ex: Logger.error('Initialization error', ex) return 255 try: ret = cmd.run_cmd() except Exception as ex: Logger.error('Unexpected error', ex) return 254 return ret
def test_handlers(self): Logger.init() Logger.init() self.assertEqual(len(Logger.logger().handlers), 2)