[coverage] Create a root element with coverage attributes

BZ: 115218

The exported xml coverage report root element did not contain any
attributes thus the total coverage was not outputted.

Use the base export to xml - modified to use an existing node - to
export the root element.

Change-Id: I706a45159ae0af5a1b353f7776f62dab3c64f3f5
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Reviewed-on: http://android.intel.com:8080/114695
Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com>
Reviewed-by: De Chivre, Renaud <renaud.de.chivre@intel.com>
Reviewed-by: cactus <cactus@intel.com>
Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
diff --git a/tools/coverage.py b/tools/coverage.py
index 8aa941f..df79b5b 100755
--- a/tools/coverage.py
+++ b/tools/coverage.py
@@ -195,8 +195,10 @@
 				str(dumpedDescription) for dumpedDescription in
 						self._dumpDescription(withCoverage, withNbUse))
 
-	def exportToXML(self):
-		domElement = xml.dom.minidom.Element(self.tag)
+	def exportToXML(self, domElement=None):
+		if domElement == None:
+			domElement = xml.dom.minidom.Element(self.tag)
+
 		self._XMLaddAttributes(domElement)
 
 		for child in self.children :
@@ -852,7 +854,7 @@
 
 
 class Root(Element):
-	tag = "Root"
+	tag = "CoverageReport"
 	def __init__(self, name, dom):
 		super().__init__(name)
 		# Create domain tree
@@ -866,11 +868,8 @@
 	def exportToXML(self):
 		"""Export tree to an xml document"""
 		impl = xml.dom.minidom.getDOMImplementation()
-		newdoc = impl.createDocument(None, self.name, None)
-		XMLDocElement = newdoc.documentElement
-
-		for child in self.children:
-			XMLDocElement.appendChild(child.exportToXML())
+		newdoc = impl.createDocument(namespaceURI=None, qualifiedName=self.tag, doctype=None)
+		super().exportToXML(newdoc.documentElement)
 
 		return newdoc
 
@@ -1022,7 +1021,7 @@
 	dom = xml.dom.minidom.parse(commandLineArguments.domainsFile)
 
 	# Create element tree
-	root = Root("Coverage", dom)
+	root = Root("DomainCoverage", dom)
 
 	# Parse PFW events
 	parser = ParsePFWlog(root.domains, root.criteria, commandLineArguments.errorToIgnore)