in AZ3166/jenkins/DevKitTestTool/Program.cs [27:144]
public static int Main(string[] args)
{
Stopwatch watch = new Stopwatch();
try
{
if (File.Exists(Constants.ExcludedTestsFileName))
{
excludeTests = File.ReadAllLines(Constants.ExcludedTestsFileName).ToList();
}
resultFolderPath = Path.Combine(workspace, ConfigurationManager.AppSettings["ResultFolder"]);
if (!Directory.Exists(resultFolderPath))
{
Directory.CreateDirectory(resultFolderPath);
}
versionFile = Path.Combine(workspace, Constants.SystemVersionFileName);
switch (args[0])
{
case "GenerateVersion":
Console.WriteLine("Generate DevKit version.");
GenerateSystemVersion();
break;
case "RunUnitTests":
// Run test cases and generate report
Console.WriteLine("Run Check-in Test for IoT DevKit.");
watch.Start();
string logFilePath = Path.Combine(resultFolderPath, "DevKit_Unit_Test_Result.txt");
_listener = new SerialPortListener(port, logFilePath);
_listener.start();
string testCasePath = Path.Combine(workspace, ConfigurationManager.AppSettings["TestCaseRelativePath"]);
RunUnitTests(testCasePath);
Thread.Sleep(30 * 1000);
_listener.Stop();
watch.Stop();
Console.WriteLine($"DevKit unit test execution time: {watch.Elapsed.TotalMinutes} minutes");
Console.WriteLine("Generate test report");
GenerateReport("UnitTestReport", watch.Elapsed.Minutes, logFilePath);
if (unitTestResult.Where(kv => !string.Equals(kv.Value, "passed.", StringComparison.OrdinalIgnoreCase)).Count() > 0)
{
return 1;
}
break;
case "VerifyExamples":
Console.WriteLine("Verify the Examples for IoT DevKit.");
watch.Start();
string exampleFolderPath = Path.Combine(workspace, ConfigurationManager.AppSettings["ExampleFolderPath"]);
VerifyLibraryExamples(exampleFolderPath);
watch.Stop();
Console.WriteLine($"DevKit examples verification time: {watch.Elapsed.TotalMinutes} minutes.");
Console.WriteLine("Generate test report");
GenerateReport("ExampleReport", watch.Elapsed.Minutes);
if (examplesTestResult.Where(kv => !string.Equals(kv.Value, "succeed", StringComparison.OrdinalIgnoreCase)).Count() > 0)
{
return 1;
}
break;
case "GenerateArduinoPackage":
GenerateArduinoPackage();
break;
case "TestInstallationPackage":
InstallationPackageTest installationPackageTest = new InstallationPackageTest(workspace);
string installPackageBlobUrl = string.Format(ConfigurationManager.AppSettings.Get("InstallPackageBlobUrl"), GetVersion());
int retCode = installationPackageTest.RunTest(installPackageBlobUrl);
if (retCode == 1)
return 1;
break;
case "GenerateSensorStatusBinFile":
string sensorStatusPath = Path.Combine(workspace, ConfigurationManager.AppSettings["SensorStatusPath"]);
VerifyLibraryExamples(sensorStatusPath);
break;
case "UpdateFirmwareVersion":
UpdateFirmwareVersion();
break;
case "UpdateBoardManagerUrl":
UpdateBoardManagerUrl();
break;
case "UpdatePlatformTxT":
UpdatePlatformTxt();
break;
default:
Console.WriteLine("Done");
break;
}
return 0;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return 1;
}
}