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>
This commit is contained in:
parent
76349ea956
commit
226c4c010e
1 changed files with 71 additions and 0 deletions
71
bin/list-uitest.py
Executable file
71
bin/list-uitest.py
Executable file
|
@ -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()
|
Loading…
Reference in a new issue