diff --git a/integration-tests/test.py b/integration-tests/test.py
index 6944478f3728bf172861b24ca6a30288a24239f5..0cb885da1a901fbee7a57fdbecbb8b385e0ff6f9 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)