diff options
author | Xisco Fauli <anistenis@gmail.com> | 2017-11-29 13:31:42 +0100 |
---|---|---|
committer | Xisco Faulí <xiscofauli@libreoffice.org> | 2017-11-30 14:35:37 +0100 |
commit | 226c4c010e805fb899ab065c3837241861d6d6db (patch) | |
tree | 7907a1f84d0c0a36e980e9a7b4c02636ed82bb92 | |
parent | 76349ea956c527e3a16023acd287f9d984ecfd8e (diff) |
Create script to list the uitests
Change-Id: Ie5a1b7151a32cc72da6a1c68bde2518897eea0f4
Reviewed-on: https://gerrit.libreoffice.org/45496
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Tested-by: Xisco Faulí <xiscofauli@libreoffice.org>
-rwxr-xr-x | bin/list-uitest.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/bin/list-uitest.py b/bin/list-uitest.py new file mode 100755 index 000000000000..e95af23676ab --- /dev/null +++ b/bin/list-uitest.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python3 + +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import os +import datetime + +def analyze_file(filename): + class_name = "" + method_list = [] + with open(filename) as fh: + for line in fh: + if line.lstrip().startswith('class '): + class_name = line.lstrip().split(" ")[1].split("(")[0] + elif line.lstrip().startswith('def test_'): + method_list.append( + line.lstrip().split("test_")[1].split("(")[0]) + else: + continue + return class_name, method_list + +def get_files_list(directory, extension): + array_items = [] + + dh = os.scandir(directory) + for entry in dh: + if entry.is_dir(): + array_items += get_files_list(entry.path, extension) + elif entry.is_file(): + if entry.name.endswith(extension): + array_items.append(entry.path) + + return array_items + +def linkFormat(name): + if name.startswith('tdf'): + return "[https://bugs.documentfoundation.org/show_bug.cgi?id={} {}]"\ + .format(name.split('tdf')[1], name) + else: + return name + + +def main(): + uitest_ext = '.py' + uitest_dirs = { + 'Writer' : ['../uitest/writer_tests/', '../writerperfect/qa/uitest/'], + 'Calc' : ['../uitest/calc_tests', '../sc/qa/uitest/'], + 'Impress' : ['../uitest/impress_tests/'], + 'Math': ['../uitest/math_tests/'], + 'Draw': ['']} + + print('Generated on ' + str(datetime.datetime.now())) + for k,v in uitest_dirs.items(): + print('\n=== ' + k + ' ===') + for uitest_dir in v: + if uitest_dir: + uitest_files = get_files_list(uitest_dir, uitest_ext) + for uitest_file in uitest_files: + class_name, method_names = analyze_file(uitest_file) + if class_name: + print("* {} ({})".format( + linkFormat(class_name),uitest_file[3:])) + for m in method_names: + print('**' + linkFormat(m)) + +if __name__ == '__main__': + main() |