From 227583a1c75dcde64635a686bdce5e531cdf7083 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Mon, 25 Apr 2016 10:57:46 +0000 Subject: [PATCH] SSDM-3505: creating targets/test-results/TEST-integration.xml SVN: 36277 --- integration-tests/test.py | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/integration-tests/test.py b/integration-tests/test.py index 6944478f372..0cb885da1a9 100755 --- a/integration-tests/test.py +++ b/integration-tests/test.py @@ -11,7 +11,9 @@ import time import settings from systemtest.util import printAndFlush, renderDuration -startTime = time.time() +startTime = time.time() +testCases = [] +failedTestCases = {} numberOfTestCases = 0 numberOfFailedTestCases = 0 for f in sorted(os.listdir(os.path.dirname(os.path.abspath(__file__)))): @@ -20,18 +22,37 @@ for f in sorted(os.listdir(os.path.dirname(os.path.abspath(__file__)))): moduleName = splittedFileName[0] fileType = splittedFileName[1] if moduleName.startswith('test_') and fileType == 'py': - numberOfTestCases += 1 + testCases.append(moduleName) try: __import__(moduleName) except: - numberOfFailedTestCases += 1 + failedTestCases[moduleName] = sys.exc_info() +renderedStartTime = time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime(startTime)) +renderedDuration = renderDuration(time.time() - startTime) +testResultsFolder = 'targets/test-results' +if not os.path.exists(testResultsFolder): + os.mkdir(testResultsFolder) +with open('targets/test-results/TEST-integration.xml', 'w') as out: + out.write('<?xml version="1.1" encoding="UTF-8"?>\n') + out.write("<testsuite name='integration' tests='%s' failures='%s' errors='0' timestamp='%s' time='%s'>\n" + % (len(testCases), len(failedTestCases), renderedStartTime, renderedDuration)) + for testCase in testCases: + if testCase in failedTestCases: + out.write(" <testcase name='%s'>\n" % testCase) + out.write(" <failure>\n") + out.write(" %s\n" % failedTestCases[testCase][1]) + out.write(" </failure>\n") + out.write(" </testcase>\n") + else: + out.write(" <testcase name='%s'/>\n" % testCase) + out.write("</testsuite>\n") printAndFlush('=====================================') -printAndFlush("%d test cases executed in %s" % (numberOfTestCases, renderDuration(time.time() - startTime))) +printAndFlush("%d test cases executed in %s" % (len(testCases), renderedDuration)) if numberOfFailedTestCases == 0: printAndFlush("no test case failed") exit(0) if numberOfFailedTestCases == 1: printAndFlush("1 test case failed") else: - printAndFlush("%d test cases failed" % numberOfFailedTestCases) + printAndFlush("%d test cases failed" % len(failedTestCases)) exit(1) -- GitLab