Skip to content

Commit d5e0b00

Browse files
committed
Maintenance for R2025b
Update to new startup app Improve ci.yml Standardize project details Remove reference to emailing for solutions in README as the solutions are included in Instructor Resources Update identity as the MathWorks Educator Content Development team
1 parent de68271 commit d5e0b00

File tree

169 files changed

+643
-247
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+643
-247
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@ jobs:
1919
strategy:
2020
fail-fast: false
2121
matrix:
22-
MATLABVersion: [R2024a,R2024b]
22+
MATLABVersion: [R2024b,R2025a,R2025b]
2323
runs-on: ubuntu-latest
24+
env:
25+
LD_PRELOAD: /usr/lib/x86_64-linux-gnu/libstdc++.so.6
2426
steps:
2527
# Checks-out your repository
2628
- uses: actions/checkout@v4

MainMenu.mlx

-5 Bytes
Binary file not shown.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The instructions inside the live scripts will guide you through the exercises an
2424

2525
## Contact Us
2626

27-
Solutions are available upon instructor request. Contact the [MathWorks teaching resources team](mailto:onlineteaching@mathworks.com) if you would like to request solutions, provide feedback, or if you have a question.
27+
Contact the [MathWorks Educator Content Development Team](mailto:onlineteaching@mathworks.com) if you would like to provide feedback, or if you have a question.
2828

2929

3030
## Prerequisites
@@ -89,9 +89,9 @@ Or feel free to explore our other [modular courseware content](https://www.mathw
8989

9090
# Contribute
9191

92-
Looking for more? Find an issue? Have a suggestion? Please contact the [MathWorks teaching resources team](mailto:%20onlineteaching@mathworks.com). If you want to contribute directly to this project, you can find information about how to do so in the [CONTRIBUTING.md](https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/blob/release/CONTRIBUTING.md) page on GitHub.
92+
Looking for more? Find an issue? Have a suggestion? Please contact the [MathWorks Educator Content Development Team](mailto:%20onlineteaching@mathworks.com). If you want to contribute directly to this project, you can find information about how to do so in the [CONTRIBUTING.md](https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/blob/release/CONTRIBUTING.md) page on GitHub.
9393

9494

95-
*©* Copyright 2023 The MathWorks, Inc
95+
*©* Copyright 2025 The MathWorks, Inc
9696

9797

README.mlx

-24 Bytes
Binary file not shown.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
% Post-run script for PracticeProblems.mlx
2+
% ---- Post-run commands -----
3+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
% Post-run script for PracticeProblemsSoln.mlx
2+
% ---- Post-run commands -----
3+

SoftwareTests/PostSmokeTest.m

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ function PostSmokeTest(ShowReport)
3131

3232
% Format the results in a table and save them
3333
Results = table(Results');
34-
Results = Results(Results.Passed,:);
3534
Version = extractBetween(string(Results.Name),"Version=",")");
35+
Passed = logical(Results.Passed);
3636

3737
% Add link to other report
3838
File = fileread(fullfile("public","index.html"));
@@ -45,13 +45,16 @@ function PostSmokeTest(ShowReport)
4545
% Format the JSON file
4646
Badge = struct;
4747
Badge.schemaVersion = 1;
48-
Badge.label = "Tested with";
49-
if size(Results,1) >= 1
50-
Badge.color = "success"
48+
Badge.label = "Test Status";
49+
if all(Passed)
50+
Badge.color = "success";
51+
Badge.message = join("R"+Version," | ");
52+
elseif any(Passed)
53+
Badge.color = "yellowgreen";
54+
Badge.message = join("R"+Version(Passed)," | ");
55+
elseif all(~Passed)
56+
Badge.color = "critical";
5157
Badge.message = join("R"+Version," | ");
52-
else
53-
Badge.color = "failure";
54-
Badge.message = "Pipeline fails";
5558
end
5659
Badge = jsonencode(Badge);
5760
writelines(Badge,fullfile("Images","TestedWith.json"));
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
% Pre-run script for PracticeProblems.mlx
2+
% ---- Known Issues -----
3+
KnownIssuesID = "";
4+
% ---- Pre-run commands -----
5+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
% Pre-run script for PracticeProblemsSoln.mlx
2+
% ---- Known Issues -----
3+
KnownIssuesID = "";
4+
% ---- Pre-run commands -----
5+

SoftwareTests/SmokeTests.m

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,28 @@
22

33
properties
44
RootFolder
5-
end
5+
sparedEditors % Files already open when the test starts
6+
end % properties
67

78
properties (ClassSetupParameter)
89
Project = {currentProject()};
9-
end
10+
end % ClassSetupParameter
1011

1112
properties (TestParameter)
1213
File;
13-
end
14+
end % TestParameter
1415

1516
methods (TestParameterDefinition,Static)
1617

1718
function File = RetrieveFile(Project) %#ok<INUSD>
1819
% Retrieve student template files:
1920
RootFolder = currentProject().RootFolder;
20-
File = dir(fullfile(RootFolder,"Scripts","*.mlx"));
21+
File = dir(fullfile(RootFolder,"Scripts","*.m"));
22+
File = [File; dir(fullfile(RootFolder,"Scripts","*.mlx"))];
2123
File = {File.name};
2224
end
2325

24-
end
26+
end % Static TestParameterDefinition
2527

2628
methods (TestClassSetup)
2729

@@ -37,8 +39,28 @@ function SetUpSmokeTest(testCase,Project) %#ok<INUSD>
3739
testCase.log("Running in " + version)
3840
end
3941

40-
end
42+
end % TestClassSetup
43+
44+
methods(TestMethodSetup)
45+
function recordEditorsToSpare(testCase)
46+
testCase.sparedEditors = matlab.desktop.editor.getAll;
47+
testCase.sparedEditors = {testCase.sparedEditors.Filename};
48+
end
49+
end % TestMethodSetup
4150

51+
methods(TestMethodTeardown)
52+
function closeOpenedEditors_thenDeleteWorkingDir(testCase)
53+
openEditors = matlab.desktop.editor.getAll;
54+
for editor=openEditors(1:end)
55+
if any(strcmp(editor.Filename, testCase.sparedEditors))
56+
continue;
57+
end
58+
% if not on our list, close the file
59+
editor.close();
60+
end
61+
end
62+
end % TestMethodTeardown
63+
4264
methods(Test)
4365

4466
function SmokeRun(testCase,File)
@@ -90,13 +112,13 @@ function SmokeRun(testCase,File)
90112

91113
end
92114

93-
end
115+
end % Test Methods
94116

95117

96118
methods (Access = private)
97119

98120
function Path = CheckPreFile(testCase,Filename)
99-
PreFile = "Pre"+replace(Filename,".mlx",".m");
121+
PreFile = "Pre"+extractBefore(Filename,".m")+".m";
100122
PreFilePath = fullfile(testCase.RootFolder,"SoftwareTests","PreFiles",PreFile);
101123
if ~isfolder(fullfile(testCase.RootFolder,"SoftwareTests/PreFiles"))
102124
mkdir(fullfile(testCase.RootFolder,"SoftwareTests/PreFiles"))
@@ -112,7 +134,7 @@ function SmokeRun(testCase,File)
112134
end
113135

114136
function Path = CheckPostFile(testCase,Filename)
115-
PostFile = "Post"+replace(Filename,".mlx",".m");
137+
PostFile = "Post"+extractBefore(Filename,".m")+".m";
116138
PostFilePath = fullfile(testCase.RootFolder,"SoftwareTests","PostFiles",PostFile);
117139
if ~isfolder(fullfile(testCase.RootFolder,"SoftwareTests/PostFiles"))
118140
mkdir(fullfile(testCase.RootFolder,"SoftwareTests/PostFiles"))
@@ -125,6 +147,6 @@ function SmokeRun(testCase,File)
125147
Path = PostFilePath;
126148
end
127149

128-
end
150+
end % Private Methods
129151

130-
end
152+
end % Smoketests

0 commit comments

Comments
 (0)