Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
commit 1c69b2c91ef0bdc7cf4dd824eb27f3c7b8532c66 Author: Valentin Gologuzov vgologuz@redhat.com Date: Tue Nov 4 13:47:07 2014 +0100
[copr-cli] print debug logs only when user provides "--debug" option
cli/copr_cli/main.py | 28 ++++++++++++++++++---------- cli/run_tests.sh | 2 +- cli/tests/test_cli.py | 36 +++++++++++++++++++++++++----------- 3 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/cli/copr_cli/main.py b/cli/copr_cli/main.py index d384e3a..4752905 100644 --- a/cli/copr_cli/main.py +++ b/cli/copr_cli/main.py @@ -13,6 +13,12 @@ import datetime import time from collections import defaultdict
+ +import logging + +log = logging.getLogger(__name__) +log.addHandler(logging.NullHandler()) + from copr import CoprClient import copr.client.exceptions as copr_exceptions
@@ -251,6 +257,9 @@ def setup_parser(): parser.add_argument("--version", action="version", version="copr {0}".format(__version__))
+ parser.add_argument("--debug", dest="debug", action="store_true", + help="Enable debug output") + subparsers = parser.add_subparsers(title="actions")
# create the parser for the "list" command @@ -346,16 +355,13 @@ def setup_parser(): return parser
-import logging - -logging.basicConfig( - level=logging.DEBUG, - format='[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', - datefmt='%H:%M:%S' -) - -log = logging.getLogger() -log.info("Logger initiated") +def enable_debug(): + logging.basicConfig( + level=logging.DEBUG, + format='[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', + datefmt='%H:%M:%S' + ) + log.debug("# Debug log enabled #")
def main(argv=sys.argv[1:]): @@ -364,6 +370,8 @@ def main(argv=sys.argv[1:]): parser = setup_parser() # Parse the commandline arg = parser.parse_args(argv) + if arg.debug: + enable_debug()
commands = Commands() getattr(commands, arg.func)(arg) diff --git a/cli/run_tests.sh b/cli/run_tests.sh index 326c3c4..a66094f 100755 --- a/cli/run_tests.sh +++ b/cli/run_tests.sh @@ -1,4 +1,4 @@ #!/bin/sh
-PYTHONPATH=./copr_cli:$PYTHONPATH python -B -m pytest -s --cov-report term-missing --cov ./copr_cli/ tests $@ +PYTHONPATH=./copr_cli:$PYTHONPATH python -B -m pytest --cov-report term-missing --cov ./copr_cli/ tests $@ #PYTHONPATH=../python/:./copr_cli:$PYTHONPATH python3 -B -m pytest --cov-report term-missing --cov ./copr_cli/ $@ diff --git a/cli/tests/test_cli.py b/cli/tests/test_cli.py index ef952f6..e9b7e20 100644 --- a/cli/tests/test_cli.py +++ b/cli/tests/test_cli.py @@ -25,17 +25,17 @@ if six.PY3: else: import mock from mock import MagicMock - -import logging - -logging.basicConfig( - level=logging.INFO, - format='[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', - datefmt='%H:%M:%S' -) - -log = logging.getLogger() -log.info("Logger initiated") +# +# import logging +# +# logging.basicConfig( +# level=logging.INFO, +# format='[%(asctime)s] {%(pathname)s:%(lineno)d} %(levelname)s - %(message)s', +# datefmt='%H:%M:%S' +# ) +# +# log = logging.getLogger() +# log.info("Logger initiated")
from copr_cli import main
@@ -285,6 +285,20 @@ def test_status_response(mock_cc, capsys): out, err = capsys.readouterr() assert "{}\n".format(response_status) in out
+@mock.patch('copr_cli.main.CoprClient') +def test_debug_by_status_response(mock_cc, capsys): + response_status = "foobar" + + mock_client = MagicMock(no_config=False) + mock_client.get_build_details.return_value = \ + MagicMock(status=response_status) + mock_cc.create_from_file_config.return_value = mock_client + + main.main(argv=["--debug", "status", "123"]) + stdout, stderr = capsys.readouterr() + assert "{}\n".format(response_status) in stdout + assert "Debug log enabled " in stderr +
@mock.patch('copr_cli.main.CoprClient') def test_status_response_no_args(mock_cc, capsys):
copr-commits@lists.fedorahosted.org