diff mbox series

[1/8] device-crash-test: Refactor loglevel configuration code

Message ID 20180309202827.12085-2-ehabkost@redhat.com
State New
Headers show
Series tests: Run device-crash-test on "make check" | expand

Commit Message

Eduardo Habkost March 9, 2018, 8:28 p.m. UTC
Use action='store_const', dest='loglevel' to represent the effect
of each option more clearly.

This will also make the last option in the command-line override
the previous ones (e.g.: "-d -q").

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 scripts/device-crash-test | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)
diff mbox series

Patch

diff --git a/scripts/device-crash-test b/scripts/device-crash-test
index 7417177ebb..c6a7875357 100755
--- a/scripts/device-crash-test
+++ b/scripts/device-crash-test
@@ -484,7 +484,7 @@  def casesToTest(args, testcase):
     if args.random:
         cases = list(cases)
         cases = random.sample(cases, min(args.random, len(cases)))
-    if args.debug:
+    if logger.isEnabledFor(logging.DEBUG):
         cases = list(cases)
         dbg("%d test cases to test", len(cases))
     if args.shuffle:
@@ -511,11 +511,15 @@  def main():
     parser.add_argument('-t', metavar='KEY=VALUE', nargs='*',
                         help="Limit test cases to KEY=VALUE",
                         action='append', dest='testcases', default=[])
-    parser.add_argument('-d', '--debug', action='store_true',
+    parser.set_defaults(loglevel=logging.INFO)
+    parser.add_argument('-d', '--debug',action='store_const',
+                        dest='loglevel', const=logging.DEBUG,
                         help='debug output')
-    parser.add_argument('-v', '--verbose', action='store_true', default=True,
+    parser.add_argument('-v', '--verbose',action='store_const',
+                        dest='loglevel', const=logging.INFO,
                         help='verbose output')
-    parser.add_argument('-q', '--quiet', dest='verbose', action='store_false',
+    parser.add_argument('-q', '--quiet',action='store_const',
+                        dest='loglevel', const=logging.WARN,
                         help='non-verbose output')
     parser.add_argument('-r', '--random', type=int, metavar='COUNT',
                         help='run a random sample of COUNT test cases',
@@ -536,13 +540,7 @@  def main():
                         help='QEMU binary to run')
     args = parser.parse_args()
 
-    if args.debug:
-        lvl = logging.DEBUG
-    elif args.verbose:
-        lvl = logging.INFO
-    else:
-        lvl = logging.WARN
-    logging.basicConfig(stream=sys.stdout, level=lvl, format='%(levelname)s: %(message)s')
+    logging.basicConfig(stream=sys.stdout, level=args.loglevel, format='%(levelname)s: %(message)s')
 
     fatal_failures = []
     wl_stats = {}
@@ -599,7 +597,7 @@  def main():
     if skipped:
         logger.info("Skipped %d test cases", skipped)
 
-    if args.debug:
+    if logger.isEnabledFor(logging.DEBUG):
         stats = sorted([(len(wl_stats.get(i, [])), wl) for i, wl in enumerate(ERROR_WHITELIST)])
         for count, wl in stats:
             dbg("whitelist entry stats: %d: %r", count, wl)