From f26c2a62fe5597cd8d547bc45e22a6ce2326e257 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Sun, 28 Jul 2019 16:30:38 +0800 Subject: [PATCH] feat: log HttpRunner version when initializing --- .travis.yml | 2 ++ CHANGELOG.md | 4 ++++ httprunner/api.py | 9 +++++---- httprunner/logger.py | 3 +++ 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1d917f66..c10a5ae7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,6 +13,8 @@ install: - pip install poetry - poetry install -vvv script: + - python -m httprunner.cli hrun -V + - python -m httprunner.cli hrun -h - poetry build - poetry run coverage run --source=httprunner -m unittest discover after_success: diff --git a/CHANGELOG.md b/CHANGELOG.md index de5ccef3..ccea9762 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## 2.2.5 (2019-07-28) +**Added** + +- log HttpRunner version when initializing + **Fixed** - fix #658: sys.exit 1 if any testcase failed diff --git a/httprunner/api.py b/httprunner/api.py index 0a70277e..3539e85b 100644 --- a/httprunner/api.py +++ b/httprunner/api.py @@ -3,8 +3,8 @@ import os import unittest -from httprunner import (exceptions, loader, logger, parser, report, runner, - utils, validator) +from httprunner import (__version__, exceptions, loader, logger, parser, + report, runner, utils, validator) class HttpRunner(object): @@ -22,6 +22,9 @@ class HttpRunner(object): log_file (str): log file path. """ + logger.setup_logger(log_level, log_file) + logger.log_info("HttpRunner version: {}".format(__version__)) + self.exception_stage = "initialize HttpRunner()" kwargs = { "failfast": failfast, @@ -33,8 +36,6 @@ class HttpRunner(object): self.report_template = report_template self.report_dir = report_dir self._summary = None - if log_file: - logger.setup_logger(log_level, log_file) def _add_tests(self, testcases): """ initialize testcase with Runner() and add to test suite. diff --git a/httprunner/logger.py b/httprunner/logger.py index 3aab4937..d6612da2 100644 --- a/httprunner/logger.py +++ b/httprunner/logger.py @@ -20,6 +20,9 @@ logger = logging.getLogger("httprunner") def setup_logger(log_level, log_file=None): """setup root logger with ColoredFormatter.""" + if len(logger.handlers) > 0: + return + level = getattr(logging, log_level.upper(), None) if not level: color_print("Invalid log level: %s" % log_level, "RED")