File Index
Files and directories
Sign in
FILE

pstore_post_reboot_tests

File preview with syntax highlighting.

linux-6.19.14/tools/testing/selftests/pstore/pstore_post_reboot_tests PLAIN TEXT
 1#!/bin/sh
 2# SPDX-License-Identifier: GPL-2.0-only
 3
 4# pstore_post_reboot_tests - Check pstore's behavior after crash/reboot
 5#
 6# Copyright (C) Hitachi Ltd., 2015
 7#  Written by Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com>
 8#
 9
10# Kselftest framework requirement - SKIP code is 4.
11ksft_skip=4
12
13. ./common_tests
14
15if [ -e $REBOOT_FLAG  ]; then
16    rm $REBOOT_FLAG
17else
18    prlog "pstore_crash_test has not been executed yet. we skip further tests."
19    exit $ksft_skip
20fi
21
22prlog -n "Mounting pstore filesystem ... "
23mount_info=`grep pstore /proc/mounts`
24if [ $? -eq 0 ]; then
25    mount_point=`echo ${mount_info} | cut -d' ' -f2 | head -n1`
26    prlog "ok"
27else
28    mount none /sys/fs/pstore -t pstore
29    if [ $? -eq 0 ]; then
30	mount_point=`grep pstore /proc/mounts | cut -d' ' -f2 | head -n1`
31	prlog "ok"
32    else
33	prlog "FAIL"
34	exit 1
35    fi
36fi
37
38cd ${mount_point}
39
40prlog -n "Checking dmesg files exist in pstore filesystem ... "
41check_files_exist dmesg
42
43prlog -n "Checking console files exist in pstore filesystem ... "
44check_files_exist console
45
46prlog -n "Checking pmsg files exist in pstore filesystem ... "
47check_files_exist pmsg
48
49prlog -n "Checking dmesg files contain oops end marker"
50grep_end_trace() {
51    grep -q "\---\[ end trace" $1
52}
53files=`ls dmesg-${backend}-*`
54operate_files $? "$files" grep_end_trace
55
56prlog -n "Checking console file contains oops end marker ... "
57grep -q "\---\[ end trace" console-${backend}-0
58show_result $?
59
60prlog -n "Checking pmsg file properly keeps the content written before crash ... "
61prev_uuid=`cat $TOP_DIR/prev_uuid`
62if [ $? -eq 0 ]; then
63    nr_matched=`grep -c "$TEST_STRING_PATTERN" pmsg-${backend}-0`
64    if [ $nr_matched -eq 1 ]; then
65	grep -q "$TEST_STRING_PATTERN"$prev_uuid pmsg-${backend}-0
66	show_result $?
67    else
68	prlog "FAIL"
69	rc=1
70    fi
71else
72    prlog "FAIL"
73    rc=1
74fi
75
76prlog -n "Removing all files in pstore filesystem "
77files=`ls *-${backend}-*`
78operate_files $? "$files" rm
79
80exit $rc
~/ Read-only file preview.