1 #!/bin/sh 2 # SPDX-License-Identifier: GPL-2.0-only 3 4 # common_tests - Shell script commonly used by pstore test scripts 5 # 6 # Copyright (C) Hitachi Ltd., 2015 7 # Written by Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com> 8 # 9 10 # Utilities 11 errexit() { # message 12 echo "Error: $1" 1>&2 13 exit 1 14 } 15 16 absdir() { # file_path 17 (cd `dirname $1`; pwd) 18 } 19 20 show_result() { # result_value 21 if [ $1 -eq 0 ]; then 22 prlog "ok" 23 else 24 prlog "FAIL" 25 rc=1 26 fi 27 } 28 29 check_files_exist() { # type of pstorefs file 30 if [ -e ${1}-${backend}-0 ]; then 31 prlog "ok" 32 for f in `ls ${1}-${backend}-*`; do 33 prlog -e "\t${f}" 34 done 35 else 36 prlog "FAIL" 37 rc=1 38 fi 39 } 40 41 operate_files() { # tested value, files, operation 42 if [ $1 -eq 0 ]; then 43 prlog 44 for f in $2; do 45 prlog -ne "\t${f} ... " 46 # execute operation 47 $3 $f 48 show_result $? 49 done 50 else 51 prlog " ... FAIL" 52 rc=1 53 fi 54 } 55 56 # Parameters 57 TEST_STRING_PATTERN="Testing pstore: uuid=" 58 UUID=`cat /proc/sys/kernel/random/uuid` 59 TOP_DIR=`absdir $0` 60 LOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`_${UUID}/ 61 REBOOT_FLAG=$TOP_DIR/reboot_flag 62 63 # Preparing logs 64 LOG_FILE=$LOG_DIR/`basename $0`.log 65 mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR" 66 date > $LOG_FILE 67 prlog() { # messages 68 /bin/echo "$@" | tee -a $LOG_FILE 69 } 70 71 # Starting tests 72 rc=0 73 prlog "=== Pstore unit tests (`basename $0`) ===" 74 prlog "UUID="$UUID 75 76 prlog -n "Checking pstore backend is registered ... " 77 backend=`cat /sys/module/pstore/parameters/backend` 78 show_result $? 79 prlog -e "\tbackend=${backend}" 80 prlog -e "\tcmdline=`cat /proc/cmdline`" 81 if [ $rc -ne 0 ]; then 82 exit 1 83 fi
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.