@@ -231,84 +231,77 @@ defmodule Phoenix.LiveDashboard.SystemInfoTest do
231231 end
232232
233233 describe "fetch_memory_allocators" do
234- test "returns " do
235- assert list = SystemInfo . fetch_memory_allocators ( node ( ) )
234+ test "handles when no max_carrier_sizes is given " do
235+ assert { list , max } = SystemInfo . fetch_memory_allocators ( node ( ) , nil )
236236
237237 assert [
238- [
239- name: :total ,
240- block_size: _ ,
241- carrier_size: _ ,
242- max_carrier_size: _
243- ] ,
244- [
245- name: :temp_alloc ,
246- block_size: _ ,
247- carrier_size: _ ,
248- max_carrier_size: _
249- ] ,
250- [
251- name: :sl_alloc ,
252- block_size: _ ,
253- carrier_size: _ ,
254- max_carrier_size: _
255- ] ,
256- [
257- name: :std_alloc ,
258- block_size: _ ,
259- carrier_size: _ ,
260- max_carrier_size: _
261- ] ,
262- [
263- name: :ll_alloc ,
264- block_size: _ ,
265- carrier_size: _ ,
266- max_carrier_size: _
267- ] ,
268- [
269- name: :eheap_alloc ,
270- block_size: _ ,
271- carrier_size: _ ,
272- max_carrier_size: _
273- ] ,
274- [
275- name: :ets_alloc ,
276- block_size: _ ,
277- carrier_size: _ ,
278- max_carrier_size: _
279- ] ,
280- [
281- name: :fix_alloc ,
282- block_size: _ ,
283- carrier_size: _ ,
284- max_carrier_size: _
285- ] ,
286- [
287- name: :literal_alloc ,
288- block_size: _ ,
289- carrier_size: _ ,
290- max_carrier_size: _
291- ] ,
292- [
293- name: :binary_alloc ,
294- block_size: _ ,
295- carrier_size: _ ,
296- max_carrier_size: _
297- ] ,
298- [
299- name: :driver_alloc ,
300- block_size: _ ,
301- carrier_size: _ ,
302- max_carrier_size: _
303- ]
238+ % { name: :total , block_size: _ , carrier_size: m1 , max_carrier_size: m1 } ,
239+ % { name: :temp_alloc , block_size: _ , carrier_size: m2 , max_carrier_size: m2 } ,
240+ % { name: :sl_alloc , block_size: _ , carrier_size: m3 , max_carrier_size: m3 } ,
241+ % { name: :std_alloc , block_size: _ , carrier_size: m4 , max_carrier_size: m4 } ,
242+ % { name: :ll_alloc , block_size: _ , carrier_size: m5 , max_carrier_size: m5 } ,
243+ % { name: :eheap_alloc , block_size: _ , carrier_size: m6 , max_carrier_size: m6 } ,
244+ % { name: :ets_alloc , block_size: _ , carrier_size: m7 , max_carrier_size: m7 } ,
245+ % { name: :fix_alloc , block_size: _ , carrier_size: m8 , max_carrier_size: m8 } ,
246+ % { name: :literal_alloc , block_size: _ , carrier_size: m9 , max_carrier_size: m9 } ,
247+ % { name: :binary_alloc , block_size: _ , carrier_size: m10 , max_carrier_size: m10 } ,
248+ % { name: :driver_alloc , block_size: _ , carrier_size: m11 , max_carrier_size: m11 }
304249 ] = list
305250
251+ assert % {
252+ total: m1 ,
253+ temp_alloc: m2 ,
254+ sl_alloc: m3 ,
255+ std_alloc: m4 ,
256+ ll_alloc: m5 ,
257+ eheap_alloc: m6 ,
258+ ets_alloc: m7 ,
259+ fix_alloc: m8 ,
260+ literal_alloc: m9 ,
261+ binary_alloc: m10 ,
262+ driver_alloc: m11
263+ } == max
264+
306265 for alloc <- list do
307266 assert is_atom ( alloc [ :name ] )
308267 assert is_integer ( alloc [ :block_size ] )
309268 assert is_integer ( alloc [ :carrier_size ] )
310269 assert is_integer ( alloc [ :max_carrier_size ] )
311270 end
312271 end
272+
273+ test "handles max_carrier_sizes" do
274+ top = 999_999_999_999_999_999
275+
276+ max = % {
277+ total: top ,
278+ temp_alloc: top ,
279+ sl_alloc: top ,
280+ std_alloc: top ,
281+ ll_alloc: top ,
282+ eheap_alloc: top ,
283+ ets_alloc: top ,
284+ fix_alloc: top ,
285+ literal_alloc: top ,
286+ binary_alloc: top ,
287+ driver_alloc: top
288+ }
289+
290+ assert { list , ^ max } = SystemInfo . fetch_memory_allocators ( node ( ) , max )
291+
292+ assert [
293+ % { name: :total , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
294+ % { name: :temp_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
295+ % { name: :sl_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
296+ % { name: :std_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
297+ % { name: :ll_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
298+ % { name: :eheap_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
299+ % { name: :ets_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
300+ % { name: :fix_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
301+ % { name: :literal_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
302+ % { name: :binary_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top } ,
303+ % { name: :driver_alloc , block_size: _ , carrier_size: _ , max_carrier_size: ^ top }
304+ ] = list
305+ end
313306 end
314307end
0 commit comments