Merge "Update TestRail reporter to not skip failed Setup and TearDown classes"
diff --git a/update_testrail_xml/cmd.py b/update_testrail_xml/cmd.py
index 15fc922..bec9097 100644
--- a/update_testrail_xml/cmd.py
+++ b/update_testrail_xml/cmd.py
@@ -206,10 +206,8 @@
send_duplicates=args.send_duplicates,
use_test_run_if_exists=args.use_test_run_if_exists)
-
- all_cases = reporter.get_cases()
empty_classnames = reporter.get_empty_classnames()
- all_empty_cases = reporter.get_testcases(all_cases, empty_classnames)
+ all_empty_cases = reporter.get_testcases(empty_classnames)
reporter.update_testcases(all_empty_cases)
reporter.delete_duplicates()
diff --git a/update_testrail_xml/reporter.py b/update_testrail_xml/reporter.py
index 76c18cd..4c04e09 100644
--- a/update_testrail_xml/reporter.py
+++ b/update_testrail_xml/reporter.py
@@ -1,7 +1,6 @@
from __future__ import absolute_import, print_function
from functools import wraps
-import logging
import os
import re
import six
@@ -112,23 +111,22 @@
classnames = []
for child in root:
if child.attrib['classname'] == '' and child[0].tag == 'failure':
- m = re.search('\(.*\)', child.attrib['name'])
+ m = re.search(r'\(.*\)', child.attrib['name'])
classname = m.group()[1:-1]
- classnames.append({'classname': classname, 'data': child[0].text})
+ classnames.append({'classname': classname,
+ 'data': child[0].text,
+ 'fullname': child.attrib.get('name')})
logger.info(' Got empty classnames from xml file')
return classnames
- def get_testcases(self, all_cases, empty_classnames):
+ def get_testcases(self, empty_classnames):
needed_cases = []
for empty_classname in empty_classnames:
- for case in all_cases:
- if empty_classname['classname'] in case['title']:
-
- updated_case = {'classname': empty_classname['classname'],
- 'name': case['title'],
- 'data': empty_classname['data']}
- needed_cases.append(updated_case)
+ updated_case = {'classname': empty_classname['classname'],
+ 'name': '.' + empty_classname['fullname'],
+ 'data': empty_classname['data']}
+ needed_cases.append(updated_case)
logger.info(' Got test cases for updating xml file')
return needed_cases