cosmetic: cmdline help: add line breaks, fix typo

Fix typo 'patch' -> 'match'

Argparse has a peculiar way of treating the cmdline help strings. Include
explicit newlines in cmdline help, and place a comment explaining the details.

Change-Id: I34a2333c55719986b729b07386bc47314635ee04
diff --git a/src/osmo-gsm-tester.py b/src/osmo-gsm-tester.py
index 31a342d..e38fae6 100755
--- a/src/osmo-gsm-tester.py
+++ b/src/osmo-gsm-tester.py
@@ -74,20 +74,32 @@
     import argparse
 
     parser = argparse.ArgumentParser(epilog=__doc__, formatter_class=argparse.RawTextHelpFormatter)
+    # Note: since we're using RawTextHelpFormatter to keep nicely separate
+    # paragraphs in the long help text, we unfortunately also need to take care
+    # of line wraps in the shorter cmdline options help.
+    # The line width here is what remains of screen width after the list of
+    # options placed by ArgumentParser. That's unfortunately subject to change
+    # and undefined, so when things change, just run a local
+    # ./osmo-gsm-tester.py --help and try to keep everything in 80 chars width.
+    # The help text is indented automatically, but line width is manual.
+    # Using multi-line strings here -- doesn't look nice in the python flow but
+    # is easiest to maintain.
     parser.add_argument('-V', '--version', action='store_true',
             help='Show version')
     parser.add_argument('trial_package', nargs='+',
             help='Directory containing binaries to test')
     parser.add_argument('-s', '--suite-scenario', dest='suite_scenario', action='append',
-            help='A suite-scenarios combination like suite:scenario+scenario')
+            help='''A suite-scenarios combination
+like suite:scenario+scenario''')
     parser.add_argument('-S', '--series', dest='series', action='append',
-            help='A series of suite-scenarios combinations as defined in the'
-                 ' osmo-gsm-tester configuration')
+            help='''A series of suite-scenarios combinations
+as defined in the osmo-gsm-tester configuration''')
     parser.add_argument('-t', '--test', dest='test', action='append',
-            help='Run only tests matching this name. Any test name that'
-                 ' contains the given string is run. To get an exact patch,'
-                 ' prepend a "=" like "-t =my_exact_name". The ".py" suffix is'
-                 ' always optional.')
+            help='''Run only tests matching this name.
+Any test name that contains the given string is run.
+To get an exact match, prepend a "=" like
+"-t =my_exact_name". The ".py" suffix is always
+optional.''')
     parser.add_argument('-l', '--log-level', dest='log_level', choices=log.LEVEL_STRS.keys(),
             default=None,
             help='Set logging level for all categories (on stdout)')