tools/memory-model: Add checktheselitmus.sh to run specified litmus tests

This commit adds a checktheselitmus.sh script that runs the litmus tests
specified on the command line.  This is useful for verifying fixes to
specific litmus tests.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
Paul E. McKenney 2019-05-02 10:05:14 -07:00
parent a4deb29a1d
commit df0f675065
2 changed files with 51 additions and 0 deletions

View File

@ -27,6 +27,14 @@ checklitmushist.sh
checklitmus.sh
Check a single litmus test against its "Result:" expected result.
Not intended to for manual use.
checktheselitmus.sh
Check the specified list of litmus tests against their "Result:"
expected results. This takes optional parseargs.sh arguments,
followed by "--" followed by pathnames starting from the current
directory.
cmplitmushist.sh

View File

@ -0,0 +1,43 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
#
# Invokes checklitmus.sh on its arguments to run the specified litmus
# test and pass judgment on the results.
#
# Usage:
# checktheselitmus.sh -- [ file1.litmus [ file2.litmus ... ] ]
#
# Run this in the directory containing the memory model, specifying the
# pathname of the litmus test to check. The usual parseargs.sh arguments
# can be specified prior to the "--".
#
# This script is intended for use with pathnames that start from the
# tools/memory-model directory. If some of the pathnames instead start at
# the root directory, they all must do so and the "--destdir /" parseargs.sh
# argument must be specified prior to the "--". Alternatively, some other
# "--destdir" argument can be supplied as long as the needed subdirectories
# are populated.
#
# Copyright IBM Corporation, 2018
#
# Author: Paul E. McKenney <paulmck@linux.ibm.com>
. scripts/parseargs.sh
ret=0
for i in "$@"
do
if scripts/checklitmus.sh $i
then
:
else
ret=1
fi
done
if test "$ret" -ne 0
then
echo " ^^^ VERIFICATION MISMATCHES" 1>&2
else
echo All litmus tests verified as was expected. 1>&2
fi
exit $ret