File tree Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Original file line number Diff line number Diff line change @@ -565,11 +565,29 @@ def setup(self):
565565 # showing/hiding them appropriately. Also fill the custom targets.
566566 process = GPS .Process (["gnatcov" , "--help" ])
567567 help_msg = process .get_result ()
568- GPS .parse_xml (
569- list_to_xml (self .BUILD_TARGET_MODELS ).format (
570- help = xml .sax .saxutils .escape (help_msg )
568+
569+ # Load the gnatcov's build targets, with the retrieved help message.
570+ # If an exception happens while loading the XML, try to load the build
571+ # targets again without the help message this time: the help message
572+ # should contain XML-escapable characters normally but we don't want
573+ # to avoid loading the plugin if it's not the case.
574+ try :
575+ GPS .parse_xml (
576+ list_to_xml (self .BUILD_TARGET_MODELS ).format (
577+ help = xml .sax .saxutils .escape (help_msg )
578+ )
571579 )
572- )
580+ except Exception as e :
581+ GPS .Logger ("GNATCOVERAGE" ).log ("Exception while loading XML: %s" % str (e ))
582+ GPS .Logger ("GNATCOVERAGE" ).log ("GNATcov's help message: %s" % help_msg )
583+ GPS .Logger ("GNATCOVERAGE" ).log (
584+ "Trying to reload the XML without gnatcov's help message..."
585+ )
586+ GPS .parse_xml (list_to_xml (self .BUILD_TARGET_MODELS ))
587+ GPS .Logger ("GNATCOVERAGE" ).log (
588+ "XML has been successfully loaded"
589+ )
590+
573591 self .update_worflow_build_targets ()
574592
575593 # Try to retrieve a prebuilt GNATcov runtime from the history
You can’t perform that action at this time.
0 commit comments