Skip to content

Commit dfded90

Browse files
authored
Store each test session result in separate file (#25)
* store each session result in separate file * add safety check for Details property * update tests * make prettier * update tests * clean package-lock * update tests * make prettier * update json structure and tests * fix test failures * add more test cases * update session heading * make prettier * add filename sorting and remove unnecessary variable
1 parent 8f16fd4 commit dfded90

17 files changed

Lines changed: 1397 additions & 849 deletions

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
## For development environment
22
.vscode
33

4+
# Claude
5+
.claude/
6+
47
# Don't include intermediate TypeScript compilation;
58
# it should be forcibly added on release
69
lib

package-lock.json

Lines changed: 18 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

plugins/+testframework/TestResultsSummaryPlugin.m

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ function reportFinalizedSuite(plugin, pluginData)
1212
if isfield(pluginData.TestResult(idx).Details, "DiagnosticRecord") && ~isempty(pluginData.TestResult(idx).Details.DiagnosticRecord)
1313
testDetails(idx).TestResult.Details.DiagnosticRecord.Event = pluginData.TestResult(idx).Details.DiagnosticRecord.Event;
1414
testDetails(idx).TestResult.Details.DiagnosticRecord.Report = pluginData.TestResult(idx).Details.DiagnosticRecord.Report;
15+
else
16+
testDetails(idx).TestResult.Details = struct();
1517
end
1618
testDetails(idx).TestResult.Name = pluginData.TestResult(idx).Name;
1719
testDetails(idx).TestResult.Passed = pluginData.TestResult(idx).Passed;
@@ -20,18 +22,9 @@ function reportFinalizedSuite(plugin, pluginData)
2022
testDetails(idx).BaseFolder = pluginData.TestSuite(idx).BaseFolder;
2123
end
2224

23-
% If test results artifact exists, update the same file
24-
testArtifactFile = fullfile(getenv("RUNNER_TEMP"), "matlabTestResults" + getenv("GITHUB_RUN_ID") + ".json");
25-
if isfile(testArtifactFile)
26-
testResults = {jsondecode(fileread(testArtifactFile))};
27-
else
28-
testResults = {};
29-
end
30-
testResults{end+1} = testDetails;
31-
3225
try
33-
jsonTestResults = jsonencode(testResults, "PrettyPrint", true);
34-
26+
jsonTestResults = jsonencode(testDetails, "PrettyPrint", true);
27+
testArtifactFile = fullfile(getenv("RUNNER_TEMP"), "matlabTestResults_" + string(datetime('now', 'Format', 'yyyyMMdd_HHmmss_SSS')) + ".json");
3528
[fID, msg] = fopen(testArtifactFile, "w");
3629
if fID == -1
3730
warning("testframework:TestResultsSummaryPlugin:UnableToOpenFile","Unable to open a file required to create the table of test results. (Cause: %s)", msg);

src/test-data/testResultsArtifacts/t1/linux/matlabTestResults.json

Lines changed: 0 additions & 219 deletions
This file was deleted.

0 commit comments

Comments
 (0)