[Coverage] Reset criterion on it's recreation

BZ: 115218

The script was not handling criterion recreation (usually on PFW restart).

Reset criterion on it's recreation.

Change-Id: I169717c1c62f89ce81b21909f3ee4b981d5e91d8
Signed-off-by: Kevin Rocard <kevinx.rocard@intel.com>
Reviewed-on: http://android.intel.com:8080/112713
Reviewed-by: Denneulin, Guillaume <guillaume.denneulin@intel.com>
Reviewed-by: Gonzalve, Sebastien <sebastien.gonzalve@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 4f87b27..9ce94e6 100755
--- a/tools/coverage.py
+++ b/tools/coverage.py
@@ -761,12 +761,22 @@
 					" with current state: " + str(currentcriterionStateList) +
 					", possible states:" + str(criterionStateList))
 
-		self.criteria.addChild(Criterion(
+		try:
+			self.criteria.addChild(Criterion(
 					criterionName,
 					criterionIsInclusif,
 					criterionStateList,
 					currentcriterionStateList
 				))
+		except self.criteria.DuplicatedCriterionError as ex:
+			logger.debug(ex)
+			logger.warning("Reseting criterion %s. Did you reset the PFW ?" % criterionName)
+			self.criteria.operationOnChild(
+				[criterionName],
+				lambda criterion: criterion.reset()
+			)
+
+
 
 	def _changingCriterion(self, matchChangingCriterion):
 		# Unpack