1*cc04a46fSHiraku Toyooka#!/bin/sh 2*cc04a46fSHiraku Toyooka 3*cc04a46fSHiraku Toyooka# common_tests - Shell script commonly used by pstore test scripts 4*cc04a46fSHiraku Toyooka# 5*cc04a46fSHiraku Toyooka# Copyright (C) Hitachi Ltd., 2015 6*cc04a46fSHiraku Toyooka# Written by Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com> 7*cc04a46fSHiraku Toyooka# 8*cc04a46fSHiraku Toyooka# Released under the terms of the GPL v2. 9*cc04a46fSHiraku Toyooka 10*cc04a46fSHiraku Toyooka# Utilities 11*cc04a46fSHiraku Toyookaerrexit() { # message 12*cc04a46fSHiraku Toyooka echo "Error: $1" 1>&2 13*cc04a46fSHiraku Toyooka exit 1 14*cc04a46fSHiraku Toyooka} 15*cc04a46fSHiraku Toyooka 16*cc04a46fSHiraku Toyookaabsdir() { # file_path 17*cc04a46fSHiraku Toyooka (cd `dirname $1`; pwd) 18*cc04a46fSHiraku Toyooka} 19*cc04a46fSHiraku Toyooka 20*cc04a46fSHiraku Toyookashow_result() { # result_value 21*cc04a46fSHiraku Toyooka if [ $1 -eq 0 ]; then 22*cc04a46fSHiraku Toyooka prlog "ok" 23*cc04a46fSHiraku Toyooka else 24*cc04a46fSHiraku Toyooka prlog "FAIL" 25*cc04a46fSHiraku Toyooka rc=1 26*cc04a46fSHiraku Toyooka fi 27*cc04a46fSHiraku Toyooka} 28*cc04a46fSHiraku Toyooka 29*cc04a46fSHiraku Toyooka# Parameters 30*cc04a46fSHiraku ToyookaTEST_STRING_PATTERN="Testing pstore: uuid=" 31*cc04a46fSHiraku ToyookaUUID=`cat /proc/sys/kernel/random/uuid` 32*cc04a46fSHiraku ToyookaTOP_DIR=`absdir $0` 33*cc04a46fSHiraku ToyookaLOG_DIR=$TOP_DIR/logs/`date +%Y%m%d-%H%M%S`_${UUID}/ 34*cc04a46fSHiraku Toyooka 35*cc04a46fSHiraku Toyooka# Preparing logs 36*cc04a46fSHiraku ToyookaLOG_FILE=$LOG_DIR/`basename $0`.log 37*cc04a46fSHiraku Toyookamkdir -p $LOG_DIR || errexit "Failed to make a log directory: $LOG_DIR" 38*cc04a46fSHiraku Toyookadate > $LOG_FILE 39*cc04a46fSHiraku Toyookaprlog() { # messages 40*cc04a46fSHiraku Toyooka /bin/echo "$@" | tee -a $LOG_FILE 41*cc04a46fSHiraku Toyooka} 42*cc04a46fSHiraku Toyooka 43*cc04a46fSHiraku Toyooka# Starting tests 44*cc04a46fSHiraku Toyookarc=0 45*cc04a46fSHiraku Toyookaprlog "=== Pstore unit tests (`basename $0`) ===" 46*cc04a46fSHiraku Toyookaprlog "UUID="$UUID 47*cc04a46fSHiraku Toyooka 48*cc04a46fSHiraku Toyookaprlog -n "Checking pstore backend is registered ... " 49*cc04a46fSHiraku Toyookabackend=`cat /sys/module/pstore/parameters/backend` 50*cc04a46fSHiraku Toyookashow_result $? 51*cc04a46fSHiraku Toyookaprlog -e "\tbackend=${backend}" 52*cc04a46fSHiraku Toyookaprlog -e "\tcmdline=`cat /proc/cmdline`" 53*cc04a46fSHiraku Toyookaif [ $rc -ne 0 ]; then 54*cc04a46fSHiraku Toyooka exit 1 55*cc04a46fSHiraku Toyookafi 56