Variation, PSN, Reactor, Extra RDS rule,
OpenInsightApi and testRunTitle
This commit is contained in:
parent
e919dcc395
commit
5f07669573
16
Adaptation/.vscode/Reactor.js
vendored
16
Adaptation/.vscode/Reactor.js
vendored
@ -7,16 +7,18 @@
|
|||||||
getValue(self, self.length, $('dcp.HGCV3/pcl/MesEntity', ''), $('dcp.HGCV3/pcl/Pattern', ''), $('dcp.HGCV3/pcl/Lot', ''), getContextData('2', 'cds.PROCESS_JOBID', ''));
|
getValue(self, self.length, $('dcp.HGCV3/pcl/MesEntity', ''), $('dcp.HGCV3/pcl/Pattern', ''), $('dcp.HGCV3/pcl/Lot', ''), getContextData('2', 'cds.PROCESS_JOBID', ''));
|
||||||
|
|
||||||
function getValue(value, length, mesEntity, pattern, lot, processJobId) {
|
function getValue(value, length, mesEntity, pattern, lot, processJobId) {
|
||||||
if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('LOW') > -1)
|
if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('EP') > -1)
|
||||||
return mesEntity;
|
return mesEntity;
|
||||||
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('MID') > -1)
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('LO') > -1)
|
||||||
return mesEntity;
|
return mesEntity;
|
||||||
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('HIGH') > -1)
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('MI') > -1)
|
||||||
return mesEntity;
|
return mesEntity;
|
||||||
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('THIN') > -1)
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('HI') > -1)
|
||||||
return mesEntity;
|
return mesEntity;
|
||||||
else if (length !== 0 || processJobId === '-')
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('TH') > -1)
|
||||||
return value;
|
return mesEntity;
|
||||||
else
|
else if (length === 0)
|
||||||
return processJobId;
|
return processJobId;
|
||||||
|
else
|
||||||
|
return value;
|
||||||
}
|
}
|
43
Adaptation/.vscode/Variation.js
vendored
Normal file
43
Adaptation/.vscode/Variation.js
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
getVariation($('dcp.HGCV3/pcl/Pattern', ''), $('dcp.HGCV3/pcl/Lot', ''), $('dcp.HGCV3/pcl/RhoAvgMean', ''));
|
||||||
|
|
||||||
|
function getVariation(pattern, lot, rhoAvgMean) {
|
||||||
|
var fourPP = 1;
|
||||||
|
var mid4pp = 1;
|
||||||
|
var thin4pp = 1;
|
||||||
|
var low4pp = 1787;
|
||||||
|
var thickness = 1;
|
||||||
|
var high4pp = 7767;
|
||||||
|
var epiPro4pp = 3163;
|
||||||
|
var midThickness = 1;
|
||||||
|
var thinThickness = 1;
|
||||||
|
var lowThickness = 15.46;
|
||||||
|
var highThickness = 20.01;
|
||||||
|
var epiProThickness = 20.28;
|
||||||
|
if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('EP') > -1) {
|
||||||
|
fourPP = epiPro4pp;
|
||||||
|
thickness = epiProThickness;
|
||||||
|
}
|
||||||
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('LO') > -1) {
|
||||||
|
fourPP = low4pp;
|
||||||
|
thickness = lowThickness;
|
||||||
|
}
|
||||||
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('MI') > -1) {
|
||||||
|
fourPP = mid4pp;
|
||||||
|
thickness = midThickness;
|
||||||
|
}
|
||||||
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('HI') > -1) {
|
||||||
|
fourPP = high4pp;
|
||||||
|
thickness = highThickness;
|
||||||
|
}
|
||||||
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('TH') > -1) {
|
||||||
|
fourPP = thin4pp;
|
||||||
|
thickness = thinThickness;
|
||||||
|
}
|
||||||
|
/* =(ABS(C9-H6)/C9)*100 */
|
||||||
|
var resistivity = thickness * fourPP * 0.0001;
|
||||||
|
var variation = (Math.abs(resistivity - rhoAvgMean) / resistivity) * 100;
|
||||||
|
if (thickness === 1 || fourPP === 1)
|
||||||
|
return null;
|
||||||
|
else
|
||||||
|
return variation;
|
||||||
|
}
|
16
Adaptation/.vscode/psn.js
vendored
16
Adaptation/.vscode/psn.js
vendored
@ -7,16 +7,18 @@
|
|||||||
getValue(self, self.length, getContextData('2', 'cds.PRODUCT', ''), $('dcp.HGCV3/pcl/Pattern', ''), $('dcp.HGCV3/pcl/Lot', ''));
|
getValue(self, self.length, getContextData('2', 'cds.PRODUCT', ''), $('dcp.HGCV3/pcl/Pattern', ''), $('dcp.HGCV3/pcl/Lot', ''));
|
||||||
|
|
||||||
function getValue(value, length, product, pattern, lot) {
|
function getValue(value, length, product, pattern, lot) {
|
||||||
if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('LOW') > -1)
|
if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('EP') > -1)
|
||||||
|
return 'EpiPro';
|
||||||
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('LO') > -1)
|
||||||
return 'Low';
|
return 'Low';
|
||||||
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('MID') > -1)
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('MI') > -1)
|
||||||
return 'Mid';
|
return 'Mid';
|
||||||
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('HIGH') > -1)
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('HI') > -1)
|
||||||
return 'High';
|
return 'High';
|
||||||
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('THIN') > -1)
|
else if (pattern === 'ONEPT.PAT' && lot.toUpperCase().indexOf('TH') > -1)
|
||||||
return 'Thin';
|
return 'Thin';
|
||||||
else if (length !== 0 || product === '-')
|
else if (length === 0)
|
||||||
return value;
|
|
||||||
else
|
|
||||||
return product;
|
return product;
|
||||||
|
else
|
||||||
|
return value;
|
||||||
}
|
}
|
@ -6,6 +6,7 @@ using Adaptation.Shared.Methods;
|
|||||||
using Adaptation.Shared.Metrology;
|
using Adaptation.Shared.Metrology;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -18,6 +19,8 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
|
|
||||||
private readonly string _IqsConnectionString;
|
private readonly string _IqsConnectionString;
|
||||||
private readonly string _OpenInsightFilePattern;
|
private readonly string _OpenInsightFilePattern;
|
||||||
|
private readonly string _OpenInsightApiECDirectory;
|
||||||
|
private readonly string _OpenInsightApiIFXDirectory;
|
||||||
|
|
||||||
public FileRead(ISMTP smtp, Dictionary<string, string> fileParameter, string cellInstanceName, string cellInstanceConnectionName, FileConnectorConfiguration fileConnectorConfiguration, string equipmentTypeName, string parameterizedModelObjectDefinitionType, IList<ModelObjectParameterDefinition> modelObjectParameters, string equipmentDictionaryName, Dictionary<string, List<long>> dummyRuns, Dictionary<long, List<string>> staticRuns, bool useCyclicalForDescription, bool isEAFHosted) :
|
public FileRead(ISMTP smtp, Dictionary<string, string> fileParameter, string cellInstanceName, string cellInstanceConnectionName, FileConnectorConfiguration fileConnectorConfiguration, string equipmentTypeName, string parameterizedModelObjectDefinitionType, IList<ModelObjectParameterDefinition> modelObjectParameters, string equipmentDictionaryName, Dictionary<string, List<long>> dummyRuns, Dictionary<long, List<string>> staticRuns, bool useCyclicalForDescription, bool isEAFHosted) :
|
||||||
base(new Description(), false, smtp, fileParameter, cellInstanceName, cellInstanceConnectionName, fileConnectorConfiguration, equipmentTypeName, parameterizedModelObjectDefinitionType, modelObjectParameters, equipmentDictionaryName, dummyRuns, staticRuns, useCyclicalForDescription, isEAFHosted)
|
base(new Description(), false, smtp, fileParameter, cellInstanceName, cellInstanceConnectionName, fileConnectorConfiguration, equipmentTypeName, parameterizedModelObjectDefinitionType, modelObjectParameters, equipmentDictionaryName, dummyRuns, staticRuns, useCyclicalForDescription, isEAFHosted)
|
||||||
@ -31,6 +34,8 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
throw new Exception(cellInstanceConnectionName);
|
throw new Exception(cellInstanceConnectionName);
|
||||||
if (!_IsDuplicator)
|
if (!_IsDuplicator)
|
||||||
throw new Exception(cellInstanceConnectionName);
|
throw new Exception(cellInstanceConnectionName);
|
||||||
|
_OpenInsightApiIFXDirectory = @"\\messdv002.na.infineon.com\Candela\Archive\API";
|
||||||
|
_OpenInsightApiECDirectory = @"\\messv02ecc1.ec.local\EC_Metrology_Si\Archive\API";
|
||||||
_IqsConnectionString = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "IQS.ConnectionString");
|
_IqsConnectionString = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "IQS.ConnectionString");
|
||||||
_OpenInsightFilePattern = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "OpenInsight.FilePattern");
|
_OpenInsightFilePattern = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "OpenInsight.FilePattern");
|
||||||
}
|
}
|
||||||
@ -182,7 +187,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
return results.ToString();
|
return results.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveOpenInsightFile(string reportFullPath, DateTime dateTime, List<pcl.Description> descriptions, Test[] tests)
|
private void SaveOpenInsightFile(string reportFullPath, DateTime dateTime, string logistics, List<pcl.Description> descriptions, Test[] tests)
|
||||||
{
|
{
|
||||||
bool isDummyRun = false;
|
bool isDummyRun = false;
|
||||||
List<(Shared.Properties.IScopeInfo, string)> collection = new();
|
List<(Shared.Properties.IScopeInfo, string)> collection = new();
|
||||||
@ -213,6 +218,8 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} {_OpenInsightFilePattern}"), lines));
|
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} {_OpenInsightFilePattern}"), lines));
|
||||||
else
|
else
|
||||||
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} E{count.Value} {_OpenInsightFilePattern}"), lines));
|
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} E{count.Value} {_OpenInsightFilePattern}"), lines));
|
||||||
|
string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||||
|
FromIQS.Save(_OpenInsightApiECDirectory, _OpenInsightApiIFXDirectory, _Logistics, reportFullPath, logistics, descriptions.First(), lines, subGroupId, weekOfYear);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||||
@ -229,7 +236,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
List<pcl.Description> descriptions = pcl.ProcessData.GetDescriptions(jsonElements);
|
List<pcl.Description> descriptions = pcl.ProcessData.GetDescriptions(jsonElements);
|
||||||
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
||||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||||
SaveOpenInsightFile(reportFullPath, dateTime, descriptions, tests);
|
SaveOpenInsightFile(reportFullPath, dateTime, pdsf.Item1, descriptions, tests);
|
||||||
results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(pdsf.Item1, tests, jsonElements, new List<FileInfo>());
|
results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(pdsf.Item1, tests, jsonElements, new List<FileInfo>());
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ using System;
|
|||||||
using System.Data;
|
using System.Data;
|
||||||
using System.Data.SqlClient;
|
using System.Data.SqlClient;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
@ -127,6 +128,82 @@ public class FromIQS
|
|||||||
return new(result, count, commandText);
|
return new(result, count, commandText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static string GetJson(Logistics logistics, string logisticLines, pcl.Description description)
|
||||||
|
{
|
||||||
|
string result;
|
||||||
|
StringBuilder stringBuilder = new();
|
||||||
|
var @object = new
|
||||||
|
{
|
||||||
|
description.MesEntity,
|
||||||
|
description.Employee,
|
||||||
|
description.Layer,
|
||||||
|
description.PSN,
|
||||||
|
description.RDS,
|
||||||
|
description.Reactor,
|
||||||
|
description.Recipe,
|
||||||
|
description.Zone,
|
||||||
|
logistics.DateTimeFromSequence.Ticks
|
||||||
|
};
|
||||||
|
string[] pair;
|
||||||
|
string[] segments;
|
||||||
|
foreach (string line in logisticLines.Split(Environment.NewLine))
|
||||||
|
{
|
||||||
|
segments = line.Split('\t');
|
||||||
|
if (segments.Length < 2)
|
||||||
|
continue;
|
||||||
|
segments = segments[1].Split(';');
|
||||||
|
_ = stringBuilder.Append('{');
|
||||||
|
foreach (string segment in segments)
|
||||||
|
{
|
||||||
|
pair = segment.Split('=');
|
||||||
|
if (pair.Length != 2 || pair[0].Length < 3)
|
||||||
|
continue;
|
||||||
|
_ = stringBuilder.Append('"').Append(pair[0][2..]).Append('"').Append(':').Append('"').Append(pair[1]).Append('"').Append(',');
|
||||||
|
}
|
||||||
|
if (stringBuilder.Length > 0)
|
||||||
|
_ = stringBuilder.Remove(stringBuilder.Length - 1, 1);
|
||||||
|
_ = stringBuilder.Append('}').Append(',');
|
||||||
|
}
|
||||||
|
if (stringBuilder.Length > 0)
|
||||||
|
_ = stringBuilder.Remove(stringBuilder.Length - 1, 1);
|
||||||
|
_ = stringBuilder.Append(']').Append('}');
|
||||||
|
_ = stringBuilder.Insert(0, ",\"Logistics\":[");
|
||||||
|
string json = JsonSerializer.Serialize(@object);
|
||||||
|
_ = stringBuilder.Insert(0, json[..^1]);
|
||||||
|
JsonElement? jsonElement = JsonSerializer.Deserialize<JsonElement>(stringBuilder.ToString());
|
||||||
|
result = jsonElement is null ? "{}" : JsonSerializer.Serialize(jsonElement, new JsonSerializerOptions { WriteIndented = true });
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static void Save(string openInsightApiECDirectory, string openInsightApiIFXDirectory, Logistics logistics, string reportFullPath, string logisticLines, pcl.Description description, string lines, long? subGroupId, string weekOfYear)
|
||||||
|
{
|
||||||
|
string fileName = Path.GetFileName(reportFullPath);
|
||||||
|
string json = GetJson(logistics, logisticLines, description);
|
||||||
|
string? ecPathRoot = Path.GetPathRoot(openInsightApiECDirectory);
|
||||||
|
string? ifxPathRoot = Path.GetPathRoot(openInsightApiIFXDirectory);
|
||||||
|
bool ecExists = ecPathRoot is not null && Directory.Exists(ecPathRoot);
|
||||||
|
bool ifxExists = ifxPathRoot is not null && Directory.Exists(ifxPathRoot);
|
||||||
|
string weekYear = $"{logistics.DateTimeFromSequence:yyyy}_Week_{weekOfYear}";
|
||||||
|
string ecDirectory = Path.Combine(openInsightApiECDirectory, weekYear, $"-{description.PSN}", $"-{description.Reactor}", $"-{description.RDS}", $"-{subGroupId}");
|
||||||
|
string ifxDirectory = Path.Combine(openInsightApiIFXDirectory, weekYear, $"-{description.PSN}", $"-{description.Reactor}", $"-{description.RDS}", $"-{subGroupId}");
|
||||||
|
if (ecExists && !Directory.Exists(ecDirectory))
|
||||||
|
_ = Directory.CreateDirectory(ecDirectory);
|
||||||
|
if (ifxExists && !Directory.Exists(ifxDirectory))
|
||||||
|
_ = Directory.CreateDirectory(ifxDirectory);
|
||||||
|
if (ecExists)
|
||||||
|
File.Copy(reportFullPath, Path.Combine(ecDirectory, fileName));
|
||||||
|
if (ifxExists)
|
||||||
|
File.Copy(reportFullPath, Path.Combine(ifxDirectory, fileName));
|
||||||
|
if (ecExists)
|
||||||
|
File.WriteAllText(Path.Combine(ecDirectory, $"{logistics.DateTimeFromSequence.Ticks}.txt"), lines);
|
||||||
|
if (ifxExists)
|
||||||
|
File.WriteAllText(Path.Combine(ifxDirectory, $"{logistics.DateTimeFromSequence.Ticks}.txt"), lines);
|
||||||
|
if (ecExists)
|
||||||
|
File.WriteAllText(Path.Combine(ecDirectory, $"{logistics.DateTimeFromSequence.Ticks}.json"), json);
|
||||||
|
if (ifxExists)
|
||||||
|
File.WriteAllText(Path.Combine(ifxDirectory, $"{logistics.DateTimeFromSequence.Ticks}.json"), json);
|
||||||
|
}
|
||||||
|
|
||||||
#nullable disable
|
#nullable disable
|
||||||
|
|
||||||
}
|
}
|
@ -218,11 +218,11 @@ public class ProcessData : IProcessData
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static (string, string) GetReactorAndRDS(string defaultReactor, string defaultRDS, string text, string formattedText, string[] segments)
|
private static (string, string) GetReactorAndRDS(string defaultReactor, string defaultRDS, string text, string formattedText, string[] segments, bool hasRDS)
|
||||||
{
|
{
|
||||||
string rds;
|
string rds;
|
||||||
string reactor;
|
string reactor;
|
||||||
if (string.IsNullOrEmpty(text) || segments.Length == 0 || string.IsNullOrEmpty(formattedText))
|
if (string.IsNullOrEmpty(text) || segments.Length == 0 || string.IsNullOrEmpty(formattedText) || (segments.Length > 1 && !hasRDS))
|
||||||
reactor = defaultReactor;
|
reactor = defaultReactor;
|
||||||
else
|
else
|
||||||
reactor = segments[0];
|
reactor = segments[0];
|
||||||
@ -238,11 +238,11 @@ public class ProcessData : IProcessData
|
|||||||
return new(reactor, rds);
|
return new(reactor, rds);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static (string, string) GetLayerAndPSN(string defaultLayer, string defaultPSN, string[] segments)
|
private static (string, string) GetLayerAndPSN(string defaultLayer, string defaultPSN, string[] segments, bool hasRDS)
|
||||||
{
|
{
|
||||||
string psn;
|
string psn;
|
||||||
string layer;
|
string layer;
|
||||||
if (segments.Length <= 2)
|
if (segments.Length <= 2 || (segments.Length > 1 && !hasRDS))
|
||||||
{
|
{
|
||||||
psn = defaultPSN;
|
psn = defaultPSN;
|
||||||
layer = defaultLayer;
|
layer = defaultLayer;
|
||||||
@ -324,8 +324,9 @@ public class ProcessData : IProcessData
|
|||||||
if (lot.Length > 2 && lot[0] == '1' && (lot[1] == 'T' || lot[1] == 't'))
|
if (lot.Length > 2 && lot[0] == '1' && (lot[1] == 'T' || lot[1] == 't'))
|
||||||
lot = lot.Substring(2);
|
lot = lot.Substring(2);
|
||||||
string[] segments = lot.Split('-');
|
string[] segments = lot.Split('-');
|
||||||
(reactor, rds) = GetReactorAndRDS(defaultReactor, defaultRDS, text, lot, segments);
|
bool hasRDS = Regex.IsMatch(lot, "[-]?[0-9]{5,}[-]?");
|
||||||
(layer, psn) = GetLayerAndPSN(defaultLayer, defaultPSN, segments);
|
(reactor, rds) = GetReactorAndRDS(defaultReactor, defaultRDS, text, lot, segments, hasRDS);
|
||||||
|
(layer, psn) = GetLayerAndPSN(defaultLayer, defaultPSN, segments, hasRDS);
|
||||||
zone = GetZone(segments);
|
zone = GetZone(segments);
|
||||||
if (segments.Length <= 4)
|
if (segments.Length <= 4)
|
||||||
employee = defaultEmployee;
|
employee = defaultEmployee;
|
||||||
|
@ -119,6 +119,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
testResultsFormat: VSTest
|
testResultsFormat: VSTest
|
||||||
testResultsFiles: "**/*.trx"
|
testResultsFiles: "**/*.trx"
|
||||||
|
testRunTitle: "$(GitCommitSeven)-$(Build.BuildId)-$(CoreVersion)-$(Configuration)-$(Build.Repository.Name)"
|
||||||
searchFolder: "$(System.DefaultWorkingDirectory)"
|
searchFolder: "$(System.DefaultWorkingDirectory)"
|
||||||
|
|
||||||
- task: mspremier.CreateWorkItem.CreateWorkItem-task.CreateWorkItem@1
|
- task: mspremier.CreateWorkItem.CreateWorkItem-task.CreateWorkItem@1
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
<PackageReference Include="coverlet.collector" Version="3.2.0" />
|
||||||
<PackageReference Include="FFMpegCore" Version="5.0.1" />
|
<PackageReference Include="FFMpegCore" Version="5.0.2" />
|
||||||
<PackageReference Include="IKVM.AWT.WinForms" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
|
<PackageReference Include="IKVM.AWT.WinForms" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
|
||||||
<PackageReference Include="IKVM.OpenJDK.Core" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
|
<PackageReference Include="IKVM.OpenJDK.Core" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
|
||||||
<PackageReference Include="IKVM.OpenJDK.Media" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
|
<PackageReference Include="IKVM.OpenJDK.Media" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
|
||||||
|
@ -116,6 +116,7 @@ steps:
|
|||||||
inputs:
|
inputs:
|
||||||
testResultsFormat: VSTest
|
testResultsFormat: VSTest
|
||||||
testResultsFiles: "**/*.trx"
|
testResultsFiles: "**/*.trx"
|
||||||
|
testRunTitle: "$(GitCommitSeven)-$(Build.BuildId)-$(CoreVersion)-$(Configuration)-$(Build.Repository.Name)"
|
||||||
searchFolder: "$(System.DefaultWorkingDirectory)"
|
searchFolder: "$(System.DefaultWorkingDirectory)"
|
||||||
|
|
||||||
- task: mspremier.CreateWorkItem.CreateWorkItem-task.CreateWorkItem@1
|
- task: mspremier.CreateWorkItem.CreateWorkItem-task.CreateWorkItem@1
|
||||||
|
@ -30,7 +30,7 @@ public partial class WS
|
|||||||
};
|
};
|
||||||
HttpResponseMessage httpResponseMessage = httpClient.SendAsync(httpRequestMessage, HttpCompletionOption.ResponseContentRead).Result;
|
HttpResponseMessage httpResponseMessage = httpClient.SendAsync(httpRequestMessage, HttpCompletionOption.ResponseContentRead).Result;
|
||||||
resultsJson = httpResponseMessage.Content.ReadAsStringAsync().Result;
|
resultsJson = httpResponseMessage.Content.ReadAsStringAsync().Result;
|
||||||
results = JsonSerializer.Deserialize<Results>(resultsJson);
|
results = JsonSerializer.Deserialize<Results>(resultsJson, new JsonSerializerOptions { PropertyNameCaseInsensitive = true });
|
||||||
}
|
}
|
||||||
if (!results.Success)
|
if (!results.Success)
|
||||||
results.Errors.Add(results.ToString());
|
results.Errors.Add(results.ToString());
|
||||||
@ -45,6 +45,7 @@ public partial class WS
|
|||||||
exception = exception.InnerException;
|
exception = exception.InnerException;
|
||||||
}
|
}
|
||||||
results.Errors ??= new List<string>();
|
results.Errors ??= new List<string>();
|
||||||
|
results.Errors.Add(resultsJson);
|
||||||
results.Errors.Add(stringBuilder.ToString());
|
results.Errors.Add(stringBuilder.ToString());
|
||||||
}
|
}
|
||||||
return new(resultsJson, results);
|
return new(resultsJson, results);
|
||||||
|
@ -128,6 +128,14 @@ public class PCL : LoggingUnitTesting, IDisposable
|
|||||||
Assert.IsTrue(descriptor.Reactor is "20");
|
Assert.IsTrue(descriptor.Reactor is "20");
|
||||||
Assert.IsTrue(descriptor.Zone is "1");
|
Assert.IsTrue(descriptor.Zone is "1");
|
||||||
Assert.IsTrue(string.IsNullOrEmpty(descriptor.Employee));
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.Employee));
|
||||||
|
descriptor = FileHandlers.pcl.ProcessData.GetDescriptor("P2-LOW-RR");
|
||||||
|
Assert.IsTrue(!string.IsNullOrEmpty(descriptor.Lot));
|
||||||
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.Layer));
|
||||||
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.PSN));
|
||||||
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.RDS));
|
||||||
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.Reactor));
|
||||||
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.Zone));
|
||||||
|
Assert.IsTrue(string.IsNullOrEmpty(descriptor.Employee));
|
||||||
LoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
|
LoggingUnitTesting.Logger.LogInformation(string.Concat(methodBase.Name, " - Exit"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user