From 438382308bd34186e48d1cbee992e6e93a8fddd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn-Egil=20Dahlberg?= Date: Thu, 6 Dec 2012 21:33:32 +0100 Subject: tests: Fix heap_sizes check --- erts/emulator/test/beam_SUITE.erl | 17 ++++++++++++----- erts/emulator/test/process_SUITE.erl | 10 +++++----- 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'erts') diff --git a/erts/emulator/test/beam_SUITE.erl b/erts/emulator/test/beam_SUITE.erl index 02c6e19686..60683d2634 100644 --- a/erts/emulator/test/beam_SUITE.erl +++ b/erts/emulator/test/beam_SUITE.erl @@ -215,11 +215,18 @@ heap_sizes(Config) when is_list(Config) -> (E, []) -> E end, [], Sizes), - %% Verify that the largest heap size consists of 31 or 63 bits. - ?line - case Largest bsr (erlang:system_info(wordsize)*8-2) of - R when R > 0 -> ok - end, + %% Verify that the largest heap size consists of + %% - 31 bits of bytes on 32 bits arch + %% - atleast 52 bits of bytes (48 is the maximum virtual address) + %% and at the most 63 bits on 64 bit archs + %% heap sizes are in words + case erlang:system_info(wordsize) of + 8 -> + 0 = (Largest*8) bsr 63, + true = (Largest*8) > (1 bsl 52); + 4 -> + 1 = (Largest*4) bsr 31 + end, ok. %% Thanks to Igor Goryachev. diff --git a/erts/emulator/test/process_SUITE.erl b/erts/emulator/test/process_SUITE.erl index 90508a0cfa..2629bbcfdc 100644 --- a/erts/emulator/test/process_SUITE.erl +++ b/erts/emulator/test/process_SUITE.erl @@ -550,7 +550,7 @@ process_info_other_msg(Config) when is_list(Config) -> {messages,[]} = process_info(Pid, messages), {min_heap_size, 233} = process_info(Pid, min_heap_size), - {min_bin_vheap_size, 46368} = process_info(Pid, min_bin_vheap_size), + {min_bin_vheap_size, 46422} = process_info(Pid, min_bin_vheap_size), Pid ! stop, ok. @@ -1893,8 +1893,8 @@ process_flag_heap_size(doc) -> process_flag_heap_size(suite) -> []; process_flag_heap_size(Config) when is_list(Config) -> - HSize = 2584, % must be gc fib number - VHSize = 317811, % must be gc fib number + HSize = 2586, % must be gc fib+ number + VHSize = 318187, % must be gc fib+ number OldHmin = erlang:process_flag(min_heap_size, HSize), {min_heap_size, HSize} = erlang:process_info(self(), min_heap_size), OldVHmin = erlang:process_flag(min_bin_vheap_size, VHSize), @@ -1908,8 +1908,8 @@ spawn_opt_heap_size(doc) -> spawn_opt_heap_size(suite) -> []; spawn_opt_heap_size(Config) when is_list(Config) -> - HSize = 987, % must be gc fib number - VHSize = 46368, % must be gc fib number + HSize = 987, % must be gc fib+ number + VHSize = 46422, % must be gc fib+ number Pid = spawn_opt(fun () -> receive stop -> ok end end, [{min_heap_size, HSize},{ min_bin_vheap_size, VHSize}]), {min_heap_size, HSize} = process_info(Pid, min_heap_size), -- cgit v1.2.3