[Devel] [PATCH vz10 v2 1/2] selftests: pstore: skip when no backend is registered

Konstantin Khorenko khorenko at virtuozzo.com
Wed Sep 23 21:03:38 MSK 2026


changelog?

--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team

On 9/10/26 05:17, Eva Kurchatova wrote:
> An unregistered pstore backend reads back "(null)", and every latter
> check fails. This also contradicts the pstore_crash_test documentation.
> 
> Fix by skipping an unregistered backend in common_tests
> 
> https://virtuozzo.atlassian.net/browse/VSTOR-142447
> Feature: fix selftests
> 
> Signed-off-by: Eva Kurchatova <eva.kurchatova at virtuozzo.com>
> ---
>  tools/testing/selftests/pstore/common_tests       | 15 +++++++++++++--
>  .../selftests/pstore/pstore_post_reboot_tests     |  2 --
>  2 files changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/testing/selftests/pstore/common_tests b/tools/testing/selftests/pstore/common_tests
> index 4509f0cc9c91..71cd4473f45a 100755
> --- a/tools/testing/selftests/pstore/common_tests
> +++ b/tools/testing/selftests/pstore/common_tests
> @@ -55,6 +55,8 @@ operate_files() { # tested value, files, operation
>  
>  # Parameters
>  TEST_STRING_PATTERN="Testing pstore: uuid="
> +# Kselftest framework requirement - SKIP code is 4.
> +ksft_skip=4
>  UUID=`cat /proc/sys/kernel/random/uuid`
>  TOP_DIR=`absdir $0`
>  LOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`_${UUID}/
> @@ -74,8 +76,17 @@ prlog "=== Pstore unit tests (`basename $0`) ==="
>  prlog "UUID="$UUID
>  
>  prlog -n "Checking pstore backend is registered ... "
> -backend=`cat /sys/module/pstore/parameters/backend`
> -show_result $?
> +# A tristate pstore leaves no parameter file at all when it is not built
> +# or not loaded, and an unregistered backend reads back as "(null)".
> +backend=`cat /sys/module/pstore/parameters/backend 2>/dev/null`
> +if [ -z "$backend" ] || [ "$backend" = "(null)" ]; then
> +    prlog "SKIP"
> +    prlog -e "\tbackend=${backend:-<none>}"
> +    prlog -e "\tcmdline=`cat /proc/cmdline`"
> +    prlog "pstore backend is not registered, skipping"
> +    exit $ksft_skip
> +fi
> +show_result 0
>  prlog -e "\tbackend=${backend}"
>  prlog -e "\tcmdline=`cat /proc/cmdline`"
>  if [ $rc -ne 0 ]; then
> diff --git a/tools/testing/selftests/pstore/pstore_post_reboot_tests b/tools/testing/selftests/pstore/pstore_post_reboot_tests
> index d6da5e86efbf..a5464407f5b2 100755
> --- a/tools/testing/selftests/pstore/pstore_post_reboot_tests
> +++ b/tools/testing/selftests/pstore/pstore_post_reboot_tests
> @@ -7,8 +7,6 @@
>  #  Written by Hiraku Toyooka <hiraku.toyooka.gu at hitachi.com>
>  #
>  
> -# Kselftest framework requirement - SKIP code is 4.
> -ksft_skip=4
>  
>  . ./common_tests
>  



More information about the Devel mailing list