diff --git a/Adaptation/FileHandlers/pcl/Convert.cs b/Adaptation/FileHandlers/pcl/Convert.cs
index fb723dc..3fedd48 100644
--- a/Adaptation/FileHandlers/pcl/Convert.cs
+++ b/Adaptation/FileHandlers/pcl/Convert.cs
@@ -75,6 +75,7 @@ internal class Convert
string[] txtFiles = Directory.GetFiles(sourcePath, $"{sourceFileNameWithoutExtension}_*.txt", SearchOption.TopDirectoryOnly);
if (txtFiles.Length != 0)
{
+ txtFiles = (from l in txtFiles orderby l.Length, l select l).ToArray();
foreach (string txtFile in txtFiles)
{
sourceFiles.Add(txtFile);
diff --git a/Adaptation/MET08DDUPSFS6420.Tests.csproj b/Adaptation/MET08DDUPSFS6420.Tests.csproj
index 496f8fa..e79870e 100644
--- a/Adaptation/MET08DDUPSFS6420.Tests.csproj
+++ b/Adaptation/MET08DDUPSFS6420.Tests.csproj
@@ -87,16 +87,16 @@
-
+
PreserveNewest
-
+
PreserveNewest
-
+
PreserveNewest
-
+
PreserveNewest
diff --git a/Adaptation/MET08DDUPSFS6420.yml b/Adaptation/MET08DDUPSFS6420.yml
index 60c1b2c..e8cb633 100644
--- a/Adaptation/MET08DDUPSFS6420.yml
+++ b/Adaptation/MET08DDUPSFS6420.yml
@@ -38,7 +38,25 @@ stages:
displayName: "Echo Check"
- script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear'
- displayName: "Nuget Clear"
+ displayName: "Nuget Nuget Clear"
+ enabled: false
+
+ - task: CopyFiles@2
+ displayName: 'Copy GhostPCL Files to: D:\EAF-Mesa-Integration\copy'
+ inputs:
+ Contents: "*"
+ SourceFolder: '\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL'
+ TargetFolder: 'D:\EAF-Mesa-Integration\copy\GhostPCL'
+ OverWrite: true
+ enabled: true
+
+ - task: CopyFiles@2
+ displayName: 'Copy LincPDFC Files to: D:\EAF-Mesa-Integration\copy'
+ inputs:
+ Contents: "*"
+ SourceFolder: '\\mesfs.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC'
+ TargetFolder: 'D:\EAF-Mesa-Integration\copy\LincPDFC'
+ OverWrite: true
enabled: false
- script: |
@@ -181,7 +199,25 @@ stages:
displayName: "Echo Check"
- script: '"C:\program files\dotnet\dotnet.exe" nuget locals all --clear'
- displayName: "Nuget Clear"
+ displayName: "Nuget Nuget Clear"
+ enabled: false
+
+ - task: CopyFiles@2
+ displayName: 'Copy GhostPCL Files to: D:\EAF-Mesa-Integration\copy'
+ inputs:
+ Contents: "*"
+ SourceFolder: '\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\GhostPCL'
+ TargetFolder: 'D:\EAF-Mesa-Integration\copy\GhostPCL'
+ OverWrite: true
+ enabled: true
+
+ - task: CopyFiles@2
+ displayName: 'Copy LincPDFC Files to: D:\EAF-Mesa-Integration\copy'
+ inputs:
+ Contents: "*"
+ SourceFolder: '\\mestsa003.infineon.com\EC_EAFRepository\Staging\DeploymentStorage\LincPDFC'
+ TargetFolder: 'D:\EAF-Mesa-Integration\copy\LincPDFC'
+ OverWrite: true
enabled: false
- script: |
diff --git a/Adaptation/Shared/ProcessDataStandardFormat.cs b/Adaptation/Shared/ProcessDataStandardFormat.cs
index a86241d..bdcc49e 100644
--- a/Adaptation/Shared/ProcessDataStandardFormat.cs
+++ b/Adaptation/Shared/ProcessDataStandardFormat.cs
@@ -136,6 +136,7 @@ internal class ProcessDataStandardFormat
internal static ProcessDataStandardFormat GetProcessDataStandardFormat(string reportFullPath, string[]? lines = null, int columnsLine = 6)
{
ProcessDataStandardFormat result;
+ long? sequence;
string segment;
string[] segments;
bool addToFooter = false;
@@ -186,13 +187,25 @@ internal class ProcessDataStandardFormat
}
string? linesOne = lines.Length > 0 && body.Count == 0 && columns.Count == 0 ? lines[1] : null;
logistics = GetLogistics(footer, linesOne: linesOne);
+ if (logistics.Count == 0)
+ sequence = null;
+ else
+ {
+ segments = logistics[0].Split(new string[] { "SEQUENCE=" }, StringSplitOptions.None);
+ sequence = segments.Length < 2 || !long.TryParse(segments[1].Split(';')[0], out long s) ? null : s;
+ }
+ if (sequence is null && !string.IsNullOrEmpty(reportFullPath))
+ {
+ FileInfo fileInfo = new(reportFullPath);
+ sequence = fileInfo.LastWriteTime.Ticks;
+ }
result = new(body: body.AsReadOnly(),
columns: columns.AsReadOnly(),
footer: footer.AsReadOnly(),
header: header.AsReadOnly(),
inputPDSF: null,
logistics: logistics,
- sequence: null);
+ sequence: sequence);
return result;
}
@@ -236,7 +249,7 @@ internal class ProcessDataStandardFormat
private static ProcessDataStandardFormat GetProcessDataStandardFormat(DateTime lastWriteTime, int columnsLine, string path, string[]? lines)
{
ProcessDataStandardFormat result;
- long sequence;
+ long? sequence;
string[] segments;
bool addToFooter = false;
List body = new();
@@ -268,12 +281,13 @@ internal class ProcessDataStandardFormat
}
logistics = GetLogistics(footer, linesOne: null);
if (logistics.Count == 0)
- sequence = lastWriteTime.Ticks;
+ sequence = null;
else
{
segments = logistics[0].Split(new string[] { "SEQUENCE=" }, StringSplitOptions.None);
- sequence = segments.Length < 2 || !long.TryParse(segments[1].Split(';')[0], out long s) ? lastWriteTime.Ticks : s;
+ sequence = segments.Length < 2 || !long.TryParse(segments[1].Split(';')[0], out long s) ? null : s;
}
+ sequence ??= lastWriteTime.Ticks;
result = new(body: body.AsReadOnly(),
columns: new(columns),
footer: footer.AsReadOnly(),
@@ -302,7 +316,7 @@ internal class ProcessDataStandardFormat
segments = bodyLine.Split('\t').ToList();
for (int c = 0; c < segments.Count; c++)
{
- value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\");
+ value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\"");
_ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":\"").Append(value).Append("\",");
}
_ = stringBuilder.Remove(stringBuilder.Length - 1, 1);
@@ -378,7 +392,7 @@ internal class ProcessDataStandardFormat
break;
for (int c = 0; c < segments.Length; c++)
{
- value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\");
+ value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\"");
line += string.Concat('"', processDataStandardFormat.InputPDSF.Columns[c].Trim('"'), '"', ':', '"', value, '"', ',');
}
line = string.Concat(line.Substring(0, line.Length - 1), '}');
@@ -518,7 +532,7 @@ internal class ProcessDataStandardFormat
{
for (int c = 1; c < segments.Length; c++)
{
- value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\");
+ value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\"");
_ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":\"").Append(value).Append("\",");
}
}
@@ -526,7 +540,7 @@ internal class ProcessDataStandardFormat
{
for (int c = 1; c < segments.Length; c++)
{
- value = segments[c].Replace("\"", "\\\"").Replace("\\", "\\\\");
+ value = segments[c].Replace("\\", "\\\\").Replace("\"", "\\\"");
if (string.IsNullOrEmpty(value))
_ = stringBuilder.Append('"').Append(processDataStandardFormat.Columns[c]).Append("\":").Append(value).Append("null,");
else if (value.All(char.IsDigit))
diff --git a/Adaptation/_Tests/Extract/Production/v2.60.0/TENCOR2.cs b/Adaptation/_Tests/Extract/Production/v2.60.0/TENCOR2.cs
index f164e4e..7d3b8bb 100644
--- a/Adaptation/_Tests/Extract/Production/v2.60.0/TENCOR2.cs
+++ b/Adaptation/_Tests/Extract/Production/v2.60.0/TENCOR2.cs
@@ -54,5 +54,22 @@ public class TENCOR2
NonThrowTryCatch();
}
+#if DEBUG
+ [Ignore]
+#endif
+ [TestMethod]
+ public void Production__v2_60_0__TENCOR2__pcl638860965797666706__TwoRuns()
+ {
+ string check = "*.pcl";
+ bool validatePDSF = false;
+ _TENCOR2.Production__v2_60_0__TENCOR2__pcl();
+ MethodBase methodBase = new StackFrame().GetMethod();
+ string[] variables = _TENCOR2.AdaptationTesting.GetVariables(methodBase, check, validatePDSF);
+ IFileRead fileRead = _TENCOR2.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false);
+ Logistics logistics = new(fileRead);
+ _ = Shared.AdaptationTesting.ReExtractCompareUpdatePassDirectory(variables, fileRead, logistics, validatePDSF);
+ NonThrowTryCatch();
+ }
+
}
#endif
\ No newline at end of file