summaryrefslogtreecommitdiff
path: root/uitest
diff options
context:
space:
mode:
authorSaurav Chirania <saurav.chir@gmail.com>2018-06-30 14:37:46 +0530
committerSaurav Chirania <saurav.chir@gmail.com>2018-07-02 04:39:55 +0200
commit5560a23cbc1e61cf55bb8c98202d7c93e21f60f1 (patch)
tree882c42e4c87e9eb90da9300f9239126fdc924fbb /uitest
parentd6aa070267f95fbcc6024ca42b8473ef08df81c7 (diff)
uitest interpreter: let's use argparse to parse arguments
Reasons to do this- 1) We will add more arguments in future, handling them manually will be time consuming. 2) Argparse generates a useful help message automatically. Change-Id: I7ce8cc2746f7774c4fa7cd5b173da637e10a770b Reviewed-on: https://gerrit.libreoffice.org/56777 Tested-by: Jenkins Reviewed-by: Saurav Chirania <saurav.chir@gmail.com>
Diffstat (limited to 'uitest')
-rw-r--r--uitest/loginterpreter.py31
1 files changed, 12 insertions, 19 deletions
diff --git a/uitest/loginterpreter.py b/uitest/loginterpreter.py
index efdef95c6473..9da08dd0acb9 100644
--- a/uitest/loginterpreter.py
+++ b/uitest/loginterpreter.py
@@ -9,11 +9,7 @@
import os
import sys
-
-def usage():
- message = "usage: {program} inputfile outputfile"
-
- print(message.format(program = os.path.basename(sys.argv[0])))
+import argparse
def parse_line(line):
"""
@@ -37,19 +33,16 @@ def parse_line(line):
dict[key] = val
return dict
-def parse_args(argv):
+def parse_args():
"""
This function parses the command-line arguments
to get the input and output file details
"""
- if len(argv) != 3:
- usage()
- sys.exit(1)
- else:
- input_address = argv[1]
- output_address = argv[2]
-
- return input_address, output_address
+ parser = argparse.ArgumentParser(description = "Generate a UI test file from log")
+ parser.add_argument("input_address", type = str, help = "The log file address")
+ parser.add_argument("output_address", type = str, help = "The test file address")
+ args = parser.parse_args()
+ return args
def get_log_file(input_address):
try:
@@ -57,7 +50,7 @@ def get_log_file(input_address):
content = f.readlines()
except IOError as err:
print("IO error: {0}".format(err))
- usage()
+ print("Use " + os.path.basename(sys.argv[0]) + " -h to get usage instructions")
sys.exit(1)
content = [x.strip() for x in content]
@@ -68,7 +61,7 @@ def initiate_test_generation(address):
f = open(address,"w")
except IOError as err:
print("IO error: {0}".format(err))
- usage()
+ print("Use " + os.path.basename(sys.argv[0]) + " -h to get usage instructions")
sys.exit(1)
initial_text = \
"from uitest.framework import UITestCase\n" + \
@@ -152,9 +145,9 @@ def get_test_line_from_two_log_lines(log_line1,log_line2):
return test_line
def main():
- input_address, output_address = parse_args(sys.argv)
- log_lines = get_log_file(input_address)
- output_stream = initiate_test_generation(output_address)
+ args = parse_args()
+ log_lines = get_log_file(args.input_address)
+ output_stream = initiate_test_generation(args.output_address)
line_number = 0
while line_number < len(log_lines):
if line_number == len(log_lines)-1 or \