749c84a7ea
also change regex expression suggested by M. Kaganski Change-Id: I9a93d2ebe6f486fcbaa201a983ded2087446d823 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104889 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
80 lines
2.5 KiB
Python
Executable file
80 lines
2.5 KiB
Python
Executable file
#!/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
|
|
import re
|
|
|
|
def analyze_file(filename):
|
|
class_name = ""
|
|
method_list = []
|
|
with open(filename, encoding='utf-8') 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):
|
|
bugId = re.search(r'\d{5,6}', name)
|
|
if bugId:
|
|
return "[https://bugs.documentfoundation.org/show_bug.cgi?id={} {}]"\
|
|
.format(bugId.group(), name)
|
|
else:
|
|
return name
|
|
|
|
|
|
def main():
|
|
uitest_ext = '.py'
|
|
uitest_dirs = {
|
|
'Writer' : ['../writerperfect/qa/uitest/', '../sw/qa/uitest/'],
|
|
'Calc' : ['../sc/qa/uitest/'],
|
|
'Impress' : ['../uitest/impress_tests/', '../sd/qa/uitest/'],
|
|
'Math': ['../uitest/math_tests/'],
|
|
'Demo': ['../uitest/demo_ui/'],
|
|
'Draw': ['']}
|
|
|
|
print('{{TopMenu}}')
|
|
print('{{Menu}}')
|
|
print('{{Menu.Development}}')
|
|
print()
|
|
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))
|
|
print()
|
|
print('[[Category:QA]][[Category:Development]]')
|
|
|
|
if __name__ == '__main__':
|
|
main()
|