tools/memory-model: Add checktheselitmus.sh to run specified litmus tests
authorPaul E. McKenney <paulmck@kernel.org>
Thu, 2 May 2019 17:05:14 +0000 (10:05 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Fri, 24 Mar 2023 17:24:15 +0000 (10:24 -0700)
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>
tools/memory-model/scripts/README
tools/memory-model/scripts/checktheselitmus.sh [new file with mode: 0755]

index 0e29a52044c1afd27672c7d14371cc235bcc7ab2..cc2c4e5be9ec163e6da01ce6a28f88fc684876c7 100644 (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
 
diff --git a/tools/memory-model/scripts/checktheselitmus.sh b/tools/memory-model/scripts/checktheselitmus.sh
new file mode 100755 (executable)
index 0000000..10eeb5e
--- /dev/null
@@ -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