:type alert: dict
:type test_set: str
:type sort: bool
- :returns: CSIT build number, VPP version, Number of failed tests,
- Compressed failed tests.
- :rtype: tuple(str, str, int, OrderedDict)
+ :returns: CSIT build number, VPP version, Number of passed tests,
+ Number of failed tests, Compressed failed tests.
+ :rtype: tuple(str, str, int, int, OrderedDict)
"""
directory = self.configs[alert["way"]]["output-dir"]
if idx == 1:
version = line[:-1]
continue
+ if idx == 2:
+ passed = line[:-1]
+ continue
+ if idx == 3:
+ failed = line[:-1]
+ continue
try:
test = line[:-1].split('-')
nic = test[0]
keys.sort()
for key in keys:
sorted_failed_tests[key] = failed_tests[key]
- return build, version, idx-1, sorted_failed_tests
+ return build, version, passed, failed, sorted_failed_tests
else:
- return build, version, idx-1, failed_tests
+ return build, version, passed, failed, failed_tests
def _generate_email_body(self, alert):
"""Create the file which is used in the generated alert.
text = ""
for idx, test_set in enumerate(alert.get("include", [])):
- build, version, nr, failed_tests = \
+ build, version, passed, failed, failed_tests = \
self._get_compressed_failed_tests(alert, test_set)
if build is None:
ret_code, build_nr, _ = get_last_completed_build_number(
build=build_nr)
continue
text += ("\n\n{topo}-{arch}, "
- "{nr} tests failed, "
+ "{failed} tests failed, "
+ "{passed} tests passed, "
"CSIT build: {link}/{build}, "
"VPP version: {version}\n\n".
format(topo=test_set.split('-')[-2],
arch=test_set.split('-')[-1],
- nr=nr,
+ failed=failed,
+ passed=passed,
link=alert["urls"][idx],
build=build,
version=version))
cores=params["cores"] +
" " * (max_len_cores - len(params["cores"])))
+ # Add list of regressions:
+ file_name = "{0}/cpta-regressions-{1}.txt".\
+ format(config["output-dir"],
+ alert["urls"][idx].split('/')[-1])
+ try:
+ with open(file_name, 'r') as txt_file:
+ file_content = txt_file.read()
+ if file_content:
+ text += "\nRegressions (full paths):\n\n"
+ text += file_content
+ except IOError:
+ pass
+
text += "\nFor detailed information visit: {url}\n".\
format(url=alert["url-details"])
file_name = "{0}/{1}".format(config["output-dir"],
- config["output-file"])
+ config["output-file"])
logging.info("Writing the file '{0}.txt' ...".format(file_name))
try: