11classdef (SharedTestFixtures = { matlab .unittest .fixtures .PathFixture(fileparts(fileparts(mfilename(' fullpath' ))))}, ...
2- TestTags = {' R2021a ' , ' impure' }) ...
2+ TestTags = {' R2019b ' , ' impure' }) ...
33 TestSys < matlab .unittest .TestCase
44
55
66properties (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' }
3012end
3113
3214
3315methods (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 )
3920tc .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
4127end
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 );
4632tc .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 )
5440end
5541end
5642
5743
58- function test_process_priority(tc , B_get_process_priority )
44+ function test_process_priority(tc , B_dps )
5945import 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 )
6348tc .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
6555end
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
7262tc .verifyClass(os , ' char' )
7363tc .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
7672end
7773
7874
@@ -81,31 +77,46 @@ function test_checkRAM(tc)
8177end
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 )
8783tc .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
8990end
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
98104else
99- tc .verifyNotEmpty (u )
105+ tc .verifyEmpty (u )
100106end
101107end
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 )
107113tc .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
109120end
110121
111122
@@ -115,24 +126,29 @@ function test_cpu_arch(tc)
115126tc .verifyGreaterThan(strlength(arch ), 0 , " CPU architecture should not be empty" )
116127end
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 )
121132tc .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
123139end
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 )
131146tc .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 )
136152end
137153end
138154
0 commit comments