Skip to content

Commit 9961c23

Browse files
committed
TestSys < R2021a
1 parent f8d8a06 commit 9961c23

File tree

2 files changed

+88
-72
lines changed

2 files changed

+88
-72
lines changed

+stdlib/Backend.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
case {'cpu_load', 'get_owner', 'get_process_priority', 'get_uid'}
9898
if ispc(), continue, end
9999
case 'is_admin'
100-
if ispc() || stdlib.matlabOlderThan('R2024a'), continue, end
100+
if ispc() && stdlib.matlabOlderThan('R2024a'), continue, end
101101
case 'is_dev_drive'
102102
pyv = stdlib.python_version();
103103
if any(pyv(1:2) < [3, 12]), continue, end

test/TestSys.m

Lines changed: 87 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,74 @@
11
classdef (SharedTestFixtures={ matlab.unittest.fixtures.PathFixture(fileparts(fileparts(mfilename('fullpath'))))}, ...
2-
TestTags = {'R2021a', 'impure'}) ...
2+
TestTags = {'R2019b', 'impure'}) ...
33
TestSys < matlab.unittest.TestCase
44

55

66
properties (TestParameter)
7-
B_cpu_load
8-
B_ram_free
9-
B_ram_total
10-
B_is_admin
11-
B_os_version
12-
B_hostname
13-
B_username
14-
B_get_uid
15-
B_get_process_priority
16-
end
17-
18-
methods (TestParameterDefinition, Static)
19-
function [B_cpu_load, B_ram_free, B_ram_total, B_is_admin, B_os_version, B_hostname, B_username, B_get_uid, B_get_process_priority] = setupBackends()
20-
B_cpu_load = init_backend("cpu_load");
21-
B_ram_free = init_backend("ram_free");
22-
B_ram_total = init_backend("ram_total");
23-
B_is_admin = init_backend("is_admin");
24-
B_os_version = init_backend("os_version");
25-
B_hostname = init_backend("hostname");
26-
B_username = init_backend("get_username");
27-
B_get_uid = init_backend('get_uid');
28-
B_get_process_priority = init_backend('get_process_priority');
29-
end
7+
B_jps = {'java', 'python', 'sys'}
8+
B_jdps = {'java', 'dotnet', 'python', 'sys'}
9+
B_jdpps = {'java', 'dotnet', 'perl', 'python', 'sys'}
10+
B_dpp = {'dotnet', 'perl', 'python'}
11+
B_dps = {'dotnet', 'python', 'sys'}
3012
end
3113

3214

3315
methods (Test)
3416

35-
function test_is_admin(tc, B_is_admin)
36-
[i, b] = stdlib.is_admin(B_is_admin);
37-
tc.assertEqual(char(b), B_is_admin)
38-
17+
function test_is_admin(tc, B_jdpps)
18+
[i, b] = stdlib.is_admin(B_jdpps);
19+
tc.assertEqual(char(b), B_jdpps)
3920
tc.verifyClass(i, "logical")
40-
tc.verifyNotEmpty(i)
21+
22+
if ismember(B_jdpps, stdlib.Backend().select('is_admin'))
23+
tc.verifyNotEmpty(i)
24+
else
25+
tc.verifyEmpty(i)
26+
end
4127
end
4228

4329

44-
function test_cpu_load(tc, B_cpu_load)
45-
[r, b] = stdlib.cpu_load(B_cpu_load);
30+
function test_cpu_load(tc, B_jps)
31+
[r, b] = stdlib.cpu_load(B_jps);
4632
tc.assertClass(r, 'double')
47-
tc.assertEqual(char(b), B_cpu_load)
33+
tc.assertEqual(char(b), B_jps)
4834

49-
if ispc() && B_cpu_load == "python"
50-
tc.verifyEmpty(r)
51-
else
35+
if ismember(B_jps, stdlib.Backend().select('cpu_load'))
5236
tc.verifyGreaterThanOrEqual(r, 0.)
5337
% some CI systems report 0
38+
else
39+
tc.verifyEmpty(r)
5440
end
5541
end
5642

5743

58-
function test_process_priority(tc, B_get_process_priority)
44+
function test_process_priority(tc, B_dps)
5945
import matlab.unittest.constraints.IsSubsetOf
60-
[r, b] = stdlib.get_process_priority(B_get_process_priority);
61-
tc.assertEqual(char(b), B_get_process_priority)
62-
46+
[r, b] = stdlib.get_process_priority(B_dps);
47+
tc.assertEqual(char(b), B_dps)
6348
tc.verifyThat({class(r)}, IsSubsetOf({'double', 'char'}))
64-
tc.verifyNotEmpty(r)
49+
50+
if ismember(B_dps, stdlib.Backend().select('get_process_priority'))
51+
tc.verifyNotEmpty(r)
52+
else
53+
tc.verifyEmpty(r)
54+
end
6555
end
6656

6757

68-
function test_os_version(tc, B_os_version)
69-
[os, ver, b] = stdlib.os_version(B_os_version);
70-
tc.assertEqual(char(b), B_os_version)
58+
function test_os_version(tc, B_jdps)
59+
[os, ver, b] = stdlib.os_version(B_jdps);
60+
tc.assertEqual(char(b), B_jdps)
7161

7262
tc.verifyClass(os, 'char')
7363
tc.verifyClass(ver, 'char')
74-
tc.verifyGreaterThan(strlength(os), 0, "expected non-empty os")
75-
tc.verifyGreaterThan(strlength(ver), 0, "expected non-empty version")
64+
65+
if ismember(B_jdps, stdlib.Backend().select('os_version'))
66+
tc.verifyGreaterThan(strlength(os), 0, "expected non-empty os")
67+
tc.verifyGreaterThan(strlength(ver), 0, "expected non-empty version")
68+
else
69+
tc.verifyEmpty(os)
70+
tc.verifyEmpty(ver)
71+
end
7672
end
7773

7874

@@ -81,31 +77,46 @@ function test_checkRAM(tc)
8177
end
8278

8379

84-
function test_hostname(tc, B_hostname)
85-
[h, b] = stdlib.hostname(B_hostname);
86-
tc.assertEqual(char(b), B_hostname)
80+
function test_hostname(tc, B_jdps)
81+
[h, b] = stdlib.hostname(B_jdps);
82+
tc.assertEqual(char(b), B_jdps)
8783
tc.verifyClass(h, 'char')
88-
tc.verifyGreaterThan(strlength(h), 0)
84+
85+
if ismember(B_jdps, stdlib.Backend().select('hostname'))
86+
tc.verifyGreaterThan(strlength(h), 0)
87+
else
88+
tc.verifyEmpty(h)
89+
end
8990
end
9091

9192

92-
function test_get_uid(tc, B_get_uid)
93-
[u, b] = stdlib.get_uid(B_get_uid);
94-
tc.assertEqual(char(b), B_get_uid)
95-
if ispc()
96-
tc.verifyClass(u, 'char')
97-
tc.verifyGreaterThan(strlength(u), 0)
93+
function test_get_uid(tc, B_dpp)
94+
[u, b] = stdlib.get_uid(B_dpp);
95+
tc.assertEqual(char(b), B_dpp)
96+
97+
if ismember(B_dpp, stdlib.Backend().select('get_uid'))
98+
if ispc()
99+
tc.verifyClass(u, 'char')
100+
tc.verifyGreaterThan(strlength(u), 0)
101+
else
102+
tc.verifyNotEmpty(u)
103+
end
98104
else
99-
tc.verifyNotEmpty(u)
105+
tc.verifyEmpty(u)
100106
end
101107
end
102108

103109

104-
function test_username(tc, B_username)
105-
[u, b] = stdlib.get_username(B_username);
106-
tc.assertEqual(char(b), B_username)
110+
function test_username(tc, B_jdps)
111+
[u, b] = stdlib.get_username(B_jdps);
112+
tc.assertEqual(char(b), B_jdps)
107113
tc.verifyClass(u, 'char')
108-
tc.verifyGreaterThan(strlength(u), 0)
114+
115+
if ismember(B_jdps, stdlib.Backend().select('get_username'))
116+
tc.verifyGreaterThan(strlength(u), 0)
117+
else
118+
tc.verifyEmpty(u)
119+
end
109120
end
110121

111122

@@ -115,24 +126,29 @@ function test_cpu_arch(tc)
115126
tc.verifyGreaterThan(strlength(arch), 0, "CPU architecture should not be empty")
116127
end
117128

118-
function test_ram_total(tc, B_ram_total)
119-
[t, b] = stdlib.ram_total(B_ram_total);
120-
tc.assertEqual(char(b), B_ram_total)
129+
function test_ram_total(tc, B_jdps)
130+
[t, b] = stdlib.ram_total(B_jdps);
131+
tc.assertEqual(char(b), B_jdps)
121132
tc.verifyClass(t, 'uint64')
122-
tc.verifyGreaterThan(t, 0)
133+
134+
if ismember(B_jdps, stdlib.Backend().select('ram_total'))
135+
tc.verifyGreaterThan(t, 0)
136+
else
137+
tc.verifyEmpty(t)
138+
end
123139
end
124140

125141

126-
function test_ram_free(tc, B_ram_free)
142+
function test_ram_free(tc, B_jps)
127143
% don't verify less than or equal to total due to shaky system measurements'
128-
[f, b] = stdlib.ram_free(B_ram_free);
129-
tc.assertEqual(char(b), B_ram_free)
130-
144+
[f, b] = stdlib.ram_free(B_jps);
145+
tc.assertEqual(char(b), B_jps)
131146
tc.verifyClass(f, 'uint64')
132-
if B_ram_free == "python" && ~stdlib.python.has_psutil()
133-
tc.verifyEmpty(f)
134-
else
147+
148+
if ismember(B_jps, stdlib.Backend().select('ram_free'))
135149
tc.verifyGreaterThan(f, 0)
150+
else
151+
tc.verifyEmpty(f)
136152
end
137153
end
138154

0 commit comments

Comments
 (0)