Implement debug option 75/29775/3
authorTaseer Ahmed <taseer94@gmail.com>
Sat, 4 Mar 2017 07:52:50 +0000 (12:52 +0500)
committerTaseer Ahmed <taseer94@gmail.com>
Sat, 4 Mar 2017 08:14:38 +0000 (13:14 +0500)
Show traceback only when debug flag specified.

JIRA: QTIP-201

Change-Id: I9cc4b4ed5a2cb2d2efabd9c0eb3aac216321ebac
Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
qtip/cli/entry.py
tests/unit/cli/options_test.py

index 9f51f25..6cf78b5 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright (c) 2016 ZTE Corp and others.
+# Copyright (c) 2017 taseer94@gmail.com and others.
 #
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Apache License, Version 2.0
@@ -7,33 +7,19 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
+import click
 import os
 import sys
-import click
 
 
 CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
 
+# TODO (taseer) define user friendly error messages
+sys.tracebacklimit = 0
 
-class Context(object):
-
-    ''' TODO(taseer) implementation'''
-
-    def __init__(self):
-        self.verbose = False
-        self.debug = False
-
-    def log(self, msg, *args):
-        ''' Log message to stderr '''
-        pass
 
-    def verbose(self, msg, *args):
-        ''' Log message to stderr when verbose '''
-        pass
-
-    def debug(self, msg, *args):
-        ''' Log message to debug '''
-        pass
+class Context(object):
+    """ Load configuration and pass to subcommands """
 
 
 pass_context = click.make_pass_decorator(Context, ensure=True)
@@ -70,4 +56,5 @@ class QtipCli(click.MultiCommand):
 @click.version_option('dev')
 @pass_context
 def cli(ctx, verbose, debug):
-    pass
+    if debug:
+        sys.tracebacklimit = 8
index f947281..9dbbe6f 100644 (file)
@@ -1,5 +1,5 @@
 ###############################################################
-# Copyright (c) 2016 ZTE Corp and others.
+# Copyright (c) 2017 taseer94@gmail.com and others.
 #
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Apache License, Version 2.0
@@ -8,8 +8,9 @@
 ##############################################################################
 
 import pytest
-from click.testing import CliRunner
+import sys
 
+from click.testing import CliRunner
 from qtip.cli.entry import cli
 
 
@@ -28,5 +29,5 @@ class TestClass(object):
         assert 'dev' in result.output
 
     def test_debug(self, runner):
-        result = runner.invoke(cli, ['-d'])
-        assert '' in result.output
+        runner.invoke(cli, ['-d'])
+        assert sys.tracebacklimit == 8