1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #!/bin/sh
- # common_tests - Shell script commonly used by pstore test scripts
- #
- # Copyright (C) Hitachi Ltd., 2015
- # Written by Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com>
- #
- # Released under the terms of the GPL v2.
- # Utilities
- errexit() { # message
- echo "Error: $1" 1>&2
- exit 1
- }
- absdir() { # file_path
- (cd `dirname $1`; pwd)
- }
- show_result() { # result_value
- if [ $1 -eq 0 ]; then
- prlog "ok"
- else
- prlog "FAIL"
- rc=1
- fi
- }
- check_files_exist() { # type of pstorefs file
- if [ -e ${1}-${backend}-0 ]; then
- prlog "ok"
- for f in `ls ${1}-${backend}-*`; do
- prlog -e "\t${f}"
- done
- else
- prlog "FAIL"
- rc=1
- fi
- }
- operate_files() { # tested value, files, operation
- if [ $1 -eq 0 ]; then
- prlog
- for f in $2; do
- prlog -ne "\t${f} ... "
- # execute operation
- $3 $f
- show_result $?
- done
- else
- prlog " ... FAIL"
- rc=1
- fi
- }
- # Parameters
- TEST_STRING_PATTERN="Testing pstore: uuid="
- UUID=`cat /proc/sys/kernel/random/uuid`
- TOP_DIR=`absdir $0`
- LOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`_${UUID}/
- REBOOT_FLAG=$TOP_DIR/reboot_flag
- # Preparing logs
- LOG_FILE=$LOG_DIR/`basename $0`.log
- mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
- date > $LOG_FILE
- prlog() { # messages
- /bin/echo "$@" | tee -a $LOG_FILE
- }
- # Starting tests
- rc=0
- 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 $?
- prlog -e "\tbackend=${backend}"
- prlog -e "\tcmdline=`cat /proc/cmdline`"
- if [ $rc -ne 0 ]; then
- exit 1
- fi
|