mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.6 KiB
83 lines
1.6 KiB
#!/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 <[email protected]> |
|
# |
|
|
|
# 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
|
|
|