84 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
# SPDX-License-Identifier: GPL-2.0-only
 | 
						|
 | 
						|
# common_tests - Shell script commonly used by pstore test scripts
 | 
						|
#
 | 
						|
# Copyright (C) Hitachi Ltd., 2015
 | 
						|
#  Written by Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com>
 | 
						|
#
 | 
						|
 | 
						|
# 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
 |