50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
namespace Certification.Tasks
|
|
{
|
|
using System;
|
|
using System.IO;
|
|
using System.Xml.Linq;
|
|
using Microsoft.Build.Framework;
|
|
using Microsoft.Build.Utilities;
|
|
|
|
public class VerifyCertificationResultTask : Task
|
|
{
|
|
[Required]
|
|
public string File { get; set; }
|
|
|
|
public override bool Execute()
|
|
{
|
|
if (!System.IO.File.Exists(File))
|
|
{
|
|
Log.LogError("Cannot find result file: {0}", File);
|
|
return false;
|
|
}
|
|
|
|
try
|
|
{
|
|
var document = XDocument.Load(File);
|
|
Log.LogMessage("Loaded result file: {0}", File);
|
|
|
|
var resultAttribute = document.Root.Attribute("OVERALL_RESULT");
|
|
if (resultAttribute == null)
|
|
{
|
|
Log.LogError("Cannot find result attribute.");
|
|
return false;
|
|
}
|
|
|
|
if (resultAttribute.Value.ToUpperInvariant() == "FAIL")
|
|
{
|
|
Log.LogError("Certification failed for result {0} ({1})", Path.GetFileName(File), File);
|
|
return false;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.LogError(ex.ToString());
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
}
|
|
}
|