93373c0406
This test suite makes use of three features provided by ShellSpec - funcion-based mock [2]: mock a function by re-defining and exporting it - parameterized tests [3]: run multiple sets of input against the same test - %text directive [4]: similar to heredoc but free of the indentation issue Note 1. Describe and Context are aliases for ExampleGroup which a block for grouping example groups or examples [5]. Describe and Context are used to improve readability. 2. ShellSpec requires .shellspec file. [1] https://github.com/dodie/testing-in-bash#detailed-comparision [2] https://github.com/shellspec/shellspec#function-based-mock [3] https://github.com/shellspec/shellspec#parameters---parameterized-example [4] https://github.com/shellspec/shellspec#text---embedded-text [5] https://github.com/shellspec/shellspec#dsl-syntax Reviewed-by: Philipp Rudo <prudo@redhat.com> Signed-off-by: Coiby Xu <coxu@redhat.com>
49 lines
1.5 KiB
Bash
49 lines
1.5 KiB
Bash
#!/bin/bash
|
|
Describe 'kdumpctl'
|
|
Include ./kdumpctl
|
|
|
|
Describe 'get_grub_kernel_boot_parameter()'
|
|
grubby() {
|
|
%text
|
|
#|index=1
|
|
#|kernel="/boot/vmlinuz-5.14.14-200.fc34.x86_64"
|
|
#|args="crashkernel=11M nvidia-drm.modeset=1 crashkernel=100M ro rhgb quiet crcrashkernel=200M crashkernel=32T-64T:128G,64T-102400T:180G fadump=on"
|
|
#|root="UUID=45fdf703-3966-401b-b8f7-cf056affd2b0"
|
|
}
|
|
DUMMY_PARAM=/boot/vmlinuz
|
|
|
|
Context "when given a kernel parameter in different positions"
|
|
# Test the following cases:
|
|
# - the kernel parameter in the end
|
|
# - the kernel parameter in the first
|
|
# - the kernel parameter is crashkernel (suffix of crcrashkernel)
|
|
# - the kernel parameter that does not exist
|
|
# - the kernel parameter doesn't have a value
|
|
Parameters
|
|
# parameter answer
|
|
fadump on
|
|
nvidia-drm.modeset 1
|
|
crashkernel 32T-64T:128G,64T-102400T:180G
|
|
aaaa ""
|
|
ro ""
|
|
End
|
|
|
|
It 'should retrieve the value succesfully'
|
|
When call get_grub_kernel_boot_parameter "$DUMMY_PARAM" "$2"
|
|
The output should equal "$3"
|
|
End
|
|
End
|
|
|
|
It 'should retrive the last value if multiple <parameter=value> entries exist'
|
|
When call get_grub_kernel_boot_parameter "$DUMMY_PARAM" crashkernel
|
|
The output should equal '32T-64T:128G,64T-102400T:180G'
|
|
End
|
|
|
|
It 'should fail when called with kernel_path=ALL'
|
|
When call get_grub_kernel_boot_parameter ALL ro
|
|
The status should be failure
|
|
The error should include "kernel_path=ALL invalid"
|
|
End
|
|
End
|
|
End
|