Script collects SWARM test results from Jenkins for all subbuilds,
gets bugs and test info for all observer failed tests and
do grouping such tests by failure reasons which were found during
analysis across all failed tests across all subbuilds. Finally it
generates a html report.
Implements blueprint: fuel-qa-failure-reason-grouping
Change-Id: Ie6955a206ce72d756a9700a204a3123ab4b10997
and small refactoring of description parsing
Add update_case() method to testrail client
Pull parsing custom cases fields into _get_custom_cases_fields() method
Add _get_fields_to_update() method to test cases uploader
Change log message for up-to-date cases
Add new file: datetime_util.py
Add method that converts duration to testrail estimate format
Register new file in the doc/testrail.rst
Change duration regexp and pull it into compiled instance
Pull tests discovering and test plan creation into
_create_test_plan_from_registry() function
Pull various case checks into _is_case_processable() function
Pull test case name getter actions into _get_test_case_name() function
Pull case 'not included' verification into _is_not_included() function
Pull case 'excluded' verification into _is_excluded() function
Pull docstring getter actions into _get_docstring() function
Pull docstring parsing actions into _parse_docstring() function
Add support for multiline title and test case steps
Change-Id: I2245b939e91bab9d4f48b072e89d86163a0dd6b0
Closes-Bug: #1558008
Create a separate script for test plan bugs statistics
generation which can:
* attach (copy from upstream tests results) links to
blocked automatic tests
* gather stats (attached bugs) for all test runs in
test plan
* follow bugs "duplication chains" and report about
original one (not its closed duplicates)
* save statistics to file in JSON or HTML format for
furter processing
* publish statistics to TestRail into test plan
description and update it (replace) in the future
Change-Id: I23389146a685d77960165ea5b91cc11696729ffc
Closes-bug: #1533196
I have added a auto-generated documentation. It is done with
Sphinx library. Sphinx uses reStructuredText as its markup language
and docstrings as a source for automated documentation.
According to https://www.python.org/dev/peps/pep-0257/
I used a """ for quotes in docstrings and made
"""Docstring."""-looking one-liners and correct indentation
for multiple-liners.
Based on https://github.com/kennethreitz/requests
I moved Makefile, requirements.txt and conf.py to /doc folder.
Also I decided to make fuel-qa documentation
similar to https://docs.python.org/2/tutorial/index.html
with single table of contents.
I have added empty __init__.py files to be able to produce
documentation.
I have added sys_test.log to .gitigonre because it has
been generated at the documentation build.
To make it faster and non-conflicting I added some banal
class descriptions in order to get them in auto-generated documentation.
I decided not to fight with warnings and poor docstring descriptions
I added to make documentation less conflicting and for a faster review.
Docstring improvements and detailed code description are left for later.
For the same reasons I decied not to add docstrings to all methods.
At a places where I made poor docstrings I have added a
TODO documentation.
Change-Id: I7701a9a3429abbf62b13ec5a31972298c0be5201
Related-Bug: #1321682