unit tests: add tests for get_grub_kernel_boot_parameter
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>
This commit is contained in:
parent
b97310428f
commit
93373c0406
0
.shellspec
Normal file
0
.shellspec
Normal file
48
spec/kdumpctl_general_spec.sh
Normal file
48
spec/kdumpctl_general_spec.sh
Normal file
@ -0,0 +1,48 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user