Skip to content

Commit e89dd2d

Browse files
committed
hostname: choose_method
1 parent c314625 commit e89dd2d

File tree

2 files changed

+21
-28
lines changed

2 files changed

+21
-28
lines changed

+stdlib/hostname.m

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,13 @@
33
%
44
% Ref: https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html#getHostName--
55

6-
function n = hostname()
6+
function n = hostname(method)
7+
arguments
8+
method (1,:) string = ["java", "dotnet", "python", "sys"]
9+
end
710

8-
n = '';
11+
fun = choose_method(method, "get_hostname");
912

10-
if stdlib.has_dotnet()
11-
n = stdlib.dotnet.get_hostname();
12-
elseif stdlib.has_java()
13-
n = stdlib.java.get_hostname();
14-
elseif stdlib.has_python()
15-
n = stdlib.python.get_hostname();
16-
elseif stdlib.isoctave()
17-
n = gethostname();
18-
end
13+
n = fun();
1914

2015
end
21-
22-
%!assert (!isempty(hostname()))

test/TestSys.m

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,9 @@
88
fun = {@stdlib.isoctave, @stdlib.has_dotnet, ...
99
@stdlib.has_java, @stdlib.has_python}
1010
cpu_arch_fun = {@stdlib.cpu_arch, @stdlib.dotnet.cpu_arch, @stdlib.java.cpu_arch}
11-
host_fun = {@stdlib.hostname, @stdlib.sys.get_hostname, @stdlib.dotnet.get_hostname, @stdlib.java.get_hostname, @stdlib.python.get_hostname}
1211
user_fun = {@stdlib.get_username, @stdlib.sys.get_username, @stdlib.dotnet.get_username, @stdlib.java.get_username, @stdlib.python.get_username}
1312
ia_fun = {'sys', 'dotnet', 'java', 'python'}
14-
ram_free_method = {'sys', 'java', 'python'}
15-
ram_total_method = {'sys', 'dotnet', 'java', 'python'}
16-
cpu_load_method = {"java", "python", "sys"}
13+
cr_method = {'sys', 'java', 'python'}
1714
end
1815

1916
methods(TestClassSetup)
@@ -58,12 +55,12 @@ function test_get_pid(tc)
5855
end
5956

6057

61-
function test_cpu_load(tc, cpu_load_method)
62-
n = "stdlib." + cpu_load_method + ".cpu_load";
58+
function test_cpu_load(tc, cr_method)
59+
n = "stdlib." + cr_method + ".cpu_load";
6360
h = @stdlib.cpu_load;
6461
tc.assertNotEmpty(which(n))
6562
try
66-
r = h(cpu_load_method);
63+
r = h(cr_method);
6764
tc.verifyGreaterThanOrEqual(r, 0.)
6865
catch e
6966
tc.verifyEqual(e.identifier, 'stdlib:choose_method:NameError', e.message)
@@ -134,10 +131,13 @@ function test_is_parallel(tc)
134131
tc.verifyClass(ip, 'logical')
135132
end
136133

137-
function test_hostname(tc, host_fun)
138-
is_capable(tc, host_fun)
139-
h = host_fun();
140-
tc.verifyGreaterThan(strlength(h), 0)
134+
function test_hostname(tc, ia_fun)
135+
try
136+
h = stdlib.hostname(ia_fun);
137+
tc.verifyGreaterThan(strlength(h), 0)
138+
catch e
139+
tc.verifyEqual(e.identifier, 'stdlib:choose_method:NameError', e.message)
140+
end
141141
end
142142

143143
function test_username(tc, user_fun)
@@ -163,9 +163,9 @@ function test_cpu_arch(tc, cpu_arch_fun)
163163
tc.verifyGreaterThan(strlength(arch), 0, "CPU architecture should not be empty")
164164
end
165165

166-
function test_ram_total(tc, ram_total_method)
166+
function test_ram_total(tc, ia_fun)
167167
try
168-
t = stdlib.ram_total(ram_total_method);
168+
t = stdlib.ram_total(ia_fun);
169169
catch e
170170
tc.verifyEqual(e.identifier, 'stdlib:choose_method:NameError', e.message)
171171
return
@@ -176,10 +176,10 @@ function test_ram_total(tc, ram_total_method)
176176
end
177177

178178

179-
function test_ram_free(tc, ram_free_method)
179+
function test_ram_free(tc, cr_method)
180180
% don't verify less than or equal total due to shaky system measurements'
181181
try
182-
f = stdlib.ram_free(ram_free_method);
182+
f = stdlib.ram_free(cr_method);
183183
catch e
184184
tc.verifyEqual(e.identifier, 'stdlib:choose_method:NameError', e.message)
185185
return

0 commit comments

Comments
 (0)