From 1101190e1cc11c25c50f26af61120154eeed1133 Mon Sep 17 00:00:00 2001 From: Coiby Xu Date: Wed, 27 Apr 2022 19:17:32 +0800 Subject: [PATCH] unit tests: add tests for get_system_size and get_recommend_size Signed-off-by: Coiby Xu Reviewed-by: Philipp Rudo --- spec/kdump-lib_spec.sh | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 spec/kdump-lib_spec.sh diff --git a/spec/kdump-lib_spec.sh b/spec/kdump-lib_spec.sh new file mode 100644 index 0000000..8c91480 --- /dev/null +++ b/spec/kdump-lib_spec.sh @@ -0,0 +1,51 @@ +#!/bin/bash +Describe 'kdump-lib' + Include ./kdump-lib.sh + + Describe 'get_system_size()' + + PROC_IOMEM=$(mktemp -t spec_test_proc_iomem_file.XXXXXXXXXX) + + cleanup() { + rm -rf "$PROC_IOMEM" + } + + AfterAll 'cleanup' + + ONE_GIGABYTE='000000-3fffffff : System RAM' + Parameters + 1 + 3 + End + + It 'should return correct system RAM size' + echo -n >"$PROC_IOMEM" + for _ in $(seq 1 "$1"); do echo "$ONE_GIGABYTE" >>"$PROC_IOMEM"; done + When call get_system_size + The output should equal "$1" + End + + End + + Describe 'get_recommend_size()' + # Testing stragety: + # 1. inclusive for the lower bound of the range of crashkernel + # 2. exclusive for the upper bound of the range of crashkernel + # 3. supports ranges not sorted in increasing order + + ck="4G-64G:256M,2G-4G:192M,64G-1T:512M,1T-:12345M" + Parameters + 1 0M + 2 192M + 64 512M + 1024 12345M + "$((64 * 1024))" 12345M + End + + It 'should handle all cases correctly' + When call get_recommend_size "$1" $ck + The output should equal "$2" + End + End + +End