1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0+
3#
4# Run a herd7 test and invokes judgelitmus.sh to check the result against
5# a "Result:" comment within the litmus test.  It also outputs verification
6# results to a file whose name is that of the specified litmus test, but
7# with ".out" appended.
8#
9# Usage:
10#	checklitmus.sh file.litmus
11#
12# Run this in the directory containing the memory model, specifying the
13# pathname of the litmus test to check.  The caller is expected to have
14# properly set up the LKMM environment variables.
15#
16# Copyright IBM Corporation, 2018
17#
18# Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
19
20litmus=$1
21herdoptions=${LKMM_HERD_OPTIONS--conf linux-kernel.cfg}
22
23if test -f "$litmus" -a -r "$litmus"
24then
25	:
26else
27	echo ' --- ' error: \"$litmus\" is not a readable file
28	exit 255
29fi
30
31echo Herd options: $herdoptions > $LKMM_DESTDIR/$litmus.out
32/usr/bin/time $LKMM_TIMEOUT_CMD herd7 $herdoptions $litmus >> $LKMM_DESTDIR/$litmus.out 2>&1
33
34scripts/judgelitmus.sh $litmus
35