[Libreoffice-commits] core.git: bin/list-uitest.py

Xisco Fauli anistenis at gmail.com
Thu Nov 30 13:36:11 UTC 2017


 bin/list-uitest.py |   71 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

New commits:
commit 226c4c010e805fb899ab065c3837241861d6d6db
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Wed Nov 29 13:31:42 2017 +0100

    Create script to list the uitests
    
    Change-Id: Ie5a1b7151a32cc72da6a1c68bde2518897eea0f4
    Reviewed-on: https://gerrit.libreoffice.org/45496
    Reviewed-by: Xisco FaulĂ­ <xiscofauli at libreoffice.org>
    Tested-by: Xisco FaulĂ­ <xiscofauli at libreoffice.org>

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()


More information about the Libreoffice-commits mailing list