cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

common_tests (1629B)


      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
     11errexit() { # message
     12    echo "Error: $1" 1>&2
     13    exit 1
     14}
     15
     16absdir() { # file_path
     17    (cd `dirname $1`; pwd)
     18}
     19
     20show_result() { # result_value
     21    if [ $1 -eq 0 ]; then
     22	prlog "ok"
     23    else
     24	prlog "FAIL"
     25	rc=1
     26    fi
     27}
     28
     29check_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
     41operate_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
     57TEST_STRING_PATTERN="Testing pstore: uuid="
     58UUID=`cat /proc/sys/kernel/random/uuid`
     59TOP_DIR=`absdir $0`
     60LOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`_${UUID}/
     61REBOOT_FLAG=$TOP_DIR/reboot_flag
     62
     63# Preparing logs
     64LOG_FILE=$LOG_DIR/`basename $0`.log
     65mkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR"
     66date > $LOG_FILE
     67prlog() { # messages
     68    /bin/echo "$@" | tee -a $LOG_FILE
     69}
     70
     71# Starting tests
     72rc=0
     73prlog "=== Pstore unit tests (`basename $0`) ==="
     74prlog "UUID="$UUID
     75
     76prlog -n "Checking pstore backend is registered ... "
     77backend=`cat /sys/module/pstore/parameters/backend`
     78show_result $?
     79prlog -e "\tbackend=${backend}"
     80prlog -e "\tcmdline=`cat /proc/cmdline`"
     81if [ $rc -ne 0 ]; then
     82    exit 1
     83fi