xref: /linux/tools/testing/selftests/pstore/common_tests (revision cc04a46f11ea046ed53e2c832ae29e4790f7e35f)
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