Skip to content

Commit eed9e67

Browse files
committed
improve test coverage
1 parent ba15092 commit eed9e67

File tree

6 files changed

+66
-50
lines changed

6 files changed

+66
-50
lines changed

+stdlib/+fileio/extract_zstd.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function extract_zstd(archive, out_dir)
1010

1111
exe = stdlib.fileio.which("cmake");
1212
if isempty(exe)
13-
extract_zstd_bin(archive, outdir)
13+
extract_zstd_bin(archive, out_dir)
1414
end
1515

1616
[ret, msg] = stdlib.sys.subprocess_run([exe, "-E", "tar", "xf", archive], "cwd", out_dir);

buildfile.m

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,34 @@ function testTask(~)
1818
end
1919

2020
function coverageTask(~)
21-
import matlab.unittest.TestRunner;
22-
import matlab.unittest.Verbosity;
23-
import matlab.unittest.plugins.CodeCoveragePlugin;
24-
import matlab.unittest.plugins.XMLPlugin;
25-
import matlab.unittest.plugins.codecoverage.CoberturaFormat;
21+
import matlab.unittest.TestRunner
22+
import matlab.unittest.Verbosity
23+
import matlab.unittest.plugins.CodeCoveragePlugin
24+
import matlab.unittest.plugins.XMLPlugin
25+
import matlab.unittest.plugins.codecoverage.CoberturaFormat
2626

27-
name = "stdlib";
2827

29-
suite = testsuite(name);
28+
pkg = "stdlib";
29+
30+
suite = testsuite("test/");
31+
32+
% not import to allow use of rest of buildfile with R2022b
33+
format = matlab.unittest.plugins.codecoverage.CoverageResult;
3034

31-
mkdir('code-coverage');
32-
mkdir('test-results');
3335

3436
runner = TestRunner.withTextOutput();
35-
runner.addPlugin(XMLPlugin.producingJUnitFormat('test-results/results.xml'));
36-
runner.addPlugin(CodeCoveragePlugin.forPackage(name, 'Producing', CoberturaFormat('code-coverage/coverage.xml')));
37+
runner.addPlugin(CodeCoveragePlugin.forPackage(pkg, Producing=format))
38+
39+
% runner.addPlugin(XMLPlugin.producingJUnitFormat('test-results.xml'))
40+
% runner.addPlugin(CodeCoveragePlugin.forPackage(pkg, 'Producing', ...
41+
% CoberturaFormat('test-coverage.xml')))
42+
43+
run_results = runner.run(suite);
44+
assert(~isempty(run_results), "no tests found")
3745

38-
results = runner.run(suite);
39-
assert(~isempty(results), "no tests found")
46+
assertSuccess(run_results)
4047

41-
assertSuccess(results)
48+
generateHTMLReport(format.Result)
4249
end
4350

4451
function publishTask(~)
@@ -51,7 +58,7 @@ function publishTask(~)
5158
files = r.Files;
5259

5360
% remove nuisance functions
54-
i = contains(files, [mfilename, "buildfile.m", filesep + "private" + filesep, filesep + "+test" + filesep]);
61+
i = contains(files, [mfilename, "buildfile.m", filesep + "private" + filesep]);
5562
files(i) = [];
5663

5764
pkg = what(pkg_name);

test/TestFileImpure.m

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,14 @@ function test_expanduser(tc)
1818
import matlab.unittest.constraints.EndsWithSubstring
1919
import matlab.unittest.constraints.StartsWithSubstring
2020

21-
tc.verifyEmpty(stdlib.fileio.expanduser(string.empty))
22-
tc.verifyEqual(stdlib.fileio.expanduser(""), "")
21+
tc.verifyEmpty(stdlib.expanduser(string.empty))
22+
tc.verifyEqual(stdlib.expanduser(""), "")
2323

24-
tc.verifyEqual(stdlib.fileio.expanduser("~abc"), "~abc")
24+
tc.verifyEqual(stdlib.expanduser("~abc"), "~abc")
2525

26-
tc.verifyThat(stdlib.fileio.expanduser('~/foo'), ~StartsWithSubstring("~"))
26+
tc.verifyThat(stdlib.expanduser('~/foo'), ~StartsWithSubstring("~"))
2727

28-
tc.verifyThat(stdlib.fileio.expanduser('~/foo'), EndsWithSubstring("foo"))
28+
tc.verifyThat(stdlib.expanduser('~/foo'), EndsWithSubstring("foo"))
2929
end
3030

3131

test/TestFilePure.m

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -27,56 +27,56 @@ function test_posix(tc)
2727

2828
function test_filename(tc)
2929

30-
tc.verifyEmpty(stdlib.fileio.filename(string.empty))
31-
tc.verifyEqual(stdlib.fileio.filename(""), "")
30+
tc.verifyEmpty(stdlib.filename(string.empty))
31+
tc.verifyEqual(stdlib.filename(""), "")
3232

33-
tc.verifyEqual(stdlib.fileio.filename("/foo/bar/baz"), "baz")
34-
tc.verifyEqual(stdlib.fileio.filename("/foo/bar/baz/"), "")
33+
tc.verifyEqual(stdlib.filename("/foo/bar/baz"), "baz")
34+
tc.verifyEqual(stdlib.filename("/foo/bar/baz/"), "")
3535

36-
tc.verifyEqual(stdlib.fileio.filename("foo/bar/baz.txt"), "baz.txt")
37-
tc.verifyEqual(stdlib.fileio.filename("foo/bar/baz.txt.gz"), "baz.txt.gz")
36+
tc.verifyEqual(stdlib.filename("foo/bar/baz.txt"), "baz.txt")
37+
tc.verifyEqual(stdlib.filename("foo/bar/baz.txt.gz"), "baz.txt.gz")
3838

3939
end
4040

4141

4242
function test_parent(tc)
4343

44-
tc.verifyEmpty(stdlib.fileio.parent(string.empty))
45-
tc.verifyEqual(stdlib.fileio.parent(""), "")
44+
tc.verifyEmpty(stdlib.parent(string.empty))
45+
tc.verifyEqual(stdlib.parent(""), "")
4646

47-
tc.verifyEqual(stdlib.fileio.parent("/foo/bar/baz"), "/foo/bar")
48-
tc.verifyEqual(stdlib.fileio.parent("/foo/bar/baz/"), "/foo/bar")
47+
tc.verifyEqual(stdlib.parent("/foo/bar/baz"), "/foo/bar")
48+
tc.verifyEqual(stdlib.parent("/foo/bar/baz/"), "/foo/bar")
4949

50-
tc.verifyEqual(stdlib.fileio.parent("foo/bar/baz/"), "foo/bar")
50+
tc.verifyEqual(stdlib.parent("foo/bar/baz/"), "foo/bar")
5151

5252
end
5353

5454
function test_suffix(tc)
5555

56-
tc.verifyEmpty(stdlib.fileio.suffix(string.empty))
57-
tc.verifyEqual(stdlib.fileio.suffix(""), "")
56+
tc.verifyEmpty(stdlib.suffix(string.empty))
57+
tc.verifyEqual(stdlib.suffix(""), "")
5858

59-
tc.verifyEqual(stdlib.fileio.suffix("/foo/bar/baz"), "")
60-
tc.verifyEqual(stdlib.fileio.suffix("/foo/bar/baz/"), "")
59+
tc.verifyEqual(stdlib.suffix("/foo/bar/baz"), "")
60+
tc.verifyEqual(stdlib.suffix("/foo/bar/baz/"), "")
6161

62-
tc.verifyEqual(stdlib.fileio.suffix("foo/bar/baz.txt"), ".txt")
63-
tc.verifyEqual(stdlib.fileio.suffix("foo/bar/baz.txt.gz"), ".gz")
62+
tc.verifyEqual(stdlib.suffix("foo/bar/baz.txt"), ".txt")
63+
tc.verifyEqual(stdlib.suffix("foo/bar/baz.txt.gz"), ".gz")
6464

6565
end
6666

6767

6868
function test_stem(tc)
6969

70-
tc.verifyEmpty(stdlib.fileio.stem(string.empty))
71-
tc.verifyEqual(stdlib.fileio.stem(""), "")
70+
tc.verifyEmpty(stdlib.stem(string.empty))
71+
tc.verifyEqual(stdlib.stem(""), "")
7272

73-
tc.verifyEqual(stdlib.fileio.stem("/foo/bar/baz"), "baz")
74-
tc.verifyEqual(stdlib.fileio.stem("/foo/bar/baz/"), "")
73+
tc.verifyEqual(stdlib.stem("/foo/bar/baz"), "baz")
74+
tc.verifyEqual(stdlib.stem("/foo/bar/baz/"), "")
7575

76-
tc.verifyEqual(stdlib.fileio.stem("foo/bar/baz/"), "")
76+
tc.verifyEqual(stdlib.stem("foo/bar/baz/"), "")
7777

78-
tc.verifyEqual(stdlib.fileio.stem("foo/bar/baz.txt"), "baz")
79-
tc.verifyEqual(stdlib.fileio.stem("foo/bar/baz.txt.gz"), "baz.txt")
78+
tc.verifyEqual(stdlib.stem("foo/bar/baz.txt"), "baz")
79+
tc.verifyEqual(stdlib.stem("foo/bar/baz.txt.gz"), "baz.txt")
8080

8181
end
8282

@@ -136,6 +136,15 @@ function test_absolute_path(tc)
136136

137137
end
138138

139+
function test_normalize(tc)
140+
141+
tc.verifyEmpty(stdlib.normalize(string.empty))
142+
tc.verifyEqual(stdlib.normalize(""), "")
143+
144+
pabs = stdlib.normalize('2foo//');
145+
tc.verifyEqual(pabs, "2foo")
146+
end
147+
139148

140149
function test_canonical(tc)
141150
import matlab.unittest.fixtures.TemporaryFolderFixture
@@ -160,9 +169,9 @@ function test_canonical(tc)
160169
tc.verifyEqual(pt1, "2foo")
161170

162171
% test existing file
163-
r = stdlib.fileio.parent(mfilename('fullpath'));
172+
r = stdlib.parent(mfilename('fullpath'));
164173
rp = fullfile(r, "..");
165-
tc.verifyEqual(stdlib.canonical(rp), stdlib.fileio.parent(r))
174+
tc.verifyEqual(stdlib.canonical(rp), stdlib.parent(r))
166175

167176
end
168177

@@ -203,9 +212,9 @@ function test_resolve(tc)
203212
tc.verifyTrue(strncmp(va, vb, 2))
204213

205214
% test existing file
206-
r = stdlib.fileio.parent(mfilename('fullpath'));
215+
r = stdlib.parent(mfilename('fullpath'));
207216
rp = fullfile(r, "..");
208-
tc.verifyEqual(stdlib.resolve(rp), stdlib.fileio.parent(r))
217+
tc.verifyEqual(stdlib.resolve(rp), stdlib.parent(r))
209218

210219
end
211220

test/TestWSL.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function test_wsl_path(tc)
5050
tc.verifyNotEmpty(wsl_temp, "could not get WSL tempfile")
5151

5252
wsl_path = stdlib.sys.wslpath2winpath(wsl_temp);
53-
tc.verifyTrue(stdlib.fileio.is_wsl_path(wsl_path), "could not convert WSL path to Windows path")
53+
tc.verifyTrue(stdlib.is_wsl_path(wsl_path), "could not convert WSL path to Windows path")
5454

5555
win_path = stdlib.sys.winpath2wslpath(wsl_path);
5656
tc.verifyNotEmpty(win_path, "could not convert Windows path to WSL path")

test/hello.txt.zst

24 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)