diff options
-rw-r--r-- | lib/os_mon/doc/src/disksup.xml | 3 | ||||
-rw-r--r-- | lib/os_mon/src/disksup.erl | 8 | ||||
-rw-r--r-- | lib/os_mon/test/disksup_SUITE.erl | 19 |
3 files changed, 13 insertions, 17 deletions
diff --git a/lib/os_mon/doc/src/disksup.xml b/lib/os_mon/doc/src/disksup.xml index c8566d0126..0e76178edb 100644 --- a/lib/os_mon/doc/src/disksup.xml +++ b/lib/os_mon/doc/src/disksup.xml @@ -81,7 +81,8 @@ necessary on embedded systems with stripped-down versions of Unix tools like <c>df</c>. The returned disk data and alarms can be different when using this option.</p> - <p>The parameter is ignored on Windows.</p> + <p>The parameter is ignored on platforms that are known to not be + posix compatible (Windows and SunOS).</p> </item> </taglist> <p>See <seealso marker="kernel:config">config(4)</seealso> for diff --git a/lib/os_mon/src/disksup.erl b/lib/os_mon/src/disksup.erl index 3fd80f2365..af5bcc6fe8 100644 --- a/lib/os_mon/src/disksup.erl +++ b/lib/os_mon/src/disksup.erl @@ -211,14 +211,14 @@ format_status(_Opt, [_PDict, #state{os = OS, threshold = Threshold, get_os(PosixOnly) -> case os:type() of - {unix, _} when PosixOnly -> - {unix, posix}; {unix, sunos} -> - case os:version() of + case os:version() of {5,_,_} -> {unix, solaris}; {4,_,_} -> {unix, sunos4}; V -> exit({unknown_os_version, V}) - end; + end; + {unix, _} when PosixOnly -> + {unix, posix}; {unix, irix64} -> {unix, irix}; OS -> OS diff --git a/lib/os_mon/test/disksup_SUITE.erl b/lib/os_mon/test/disksup_SUITE.erl index 2f62564959..f9addd96cf 100644 --- a/lib/os_mon/test/disksup_SUITE.erl +++ b/lib/os_mon/test/disksup_SUITE.erl @@ -49,7 +49,8 @@ init_per_testcase(_Case, Config) -> Dog = ?t:timetrap(?default_timeout), [{watchdog,Dog} | Config]. -end_per_testcase(unavailable, Config) -> +end_per_testcase(TC, Config) when TC =:= unavailable; + TC =:= posix_only -> restart(Config), end_per_testcase(dummy, Config); end_per_testcase(_Case, Config) -> @@ -61,11 +62,10 @@ suite() -> [{ct_hooks,[ts_install_cth]}]. all() -> Bugs = [otp_5910], + Always = [api, config, alarm, port, posix_only, unavailable] ++ Bugs, case test_server:os_type() of - {unix, sunos} -> - [api, config, alarm, port, unavailable, posix_only] ++ Bugs; - {unix, _OSname} -> [api, alarm, posix_only] ++ Bugs; - {win32, _OSname} -> [api, alarm, posix_only] ++ Bugs; + {unix, _OSname} -> Always; + {win32, _OSname} -> Always; _OS -> [unavailable] end. @@ -336,6 +336,7 @@ restart(suite) -> []; restart(Config) when is_list(Config) -> ok = application:set_env(os_mon, start_disksup, true), + ok = application:set_env(os_mon, disksup_posix_only, false), {ok, _Pid} = supervisor:restart_child(os_mon_sup, disksup), ok. @@ -409,13 +410,7 @@ posix_only(Config) when is_list(Config) -> ok = supervisor:terminate_child(os_mon_sup, disksup), {ok, _Child1} = supervisor:restart_child(os_mon_sup, disksup), - ok = check_get_disk_data(), - - %% Reset option and restart disksup - ok = application:set_env(os_mon, disksup_posix_only, false), - ok = supervisor:terminate_child(os_mon_sup, disksup), - {ok, _Child2} = supervisor:restart_child(os_mon_sup, disksup), - ok. + ok = check_get_disk_data(). dump_info() -> io:format("Status: ~p~n", [sys:get_status(disksup)]). |