~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/memory-model/scripts/checkalllitmus.sh

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0+
  3 #
  4 # Run herd7 tests on all .litmus files in the litmus-tests directory
  5 # and check each file's result against a "Result:" comment within that
  6 # litmus test.  If the verification result does not match that specified
  7 # in the litmus test, this script prints an error message prefixed with
  8 # "^^^".  It also outputs verification results to a file whose name is
  9 # that of the specified litmus test, but with ".out" appended.
 10 #
 11 # If the --hw argument is specified, this script translates the .litmus
 12 # C-language file to the specified type of assembly and verifies that.
 13 # But in this case, litmus tests using complex synchronization (such as
 14 # locking, RCU, and SRCU) are cheerfully ignored.
 15 #
 16 # Usage:
 17 #       checkalllitmus.sh
 18 #
 19 # Run this in the directory containing the memory model.
 20 #
 21 # This script makes no attempt to run the litmus tests concurrently.
 22 #
 23 # Copyright IBM Corporation, 2018
 24 #
 25 # Author: Paul E. McKenney <paulmck@linux.ibm.com>
 26 
 27 . scripts/parseargs.sh
 28 
 29 litmusdir=litmus-tests
 30 if test -d "$litmusdir" -a -r "$litmusdir" -a -x "$litmusdir"
 31 then
 32         :
 33 else
 34         echo ' --- ' error: $litmusdir is not an accessible directory
 35         exit 255
 36 fi
 37 
 38 # Create any new directories that have appeared in the litmus-tests
 39 # directory since the last run.
 40 if test "$LKMM_DESTDIR" != "."
 41 then
 42         find $litmusdir -type d -print |
 43         ( cd "$LKMM_DESTDIR"; sed -e 's/^/mkdir -p /' | sh )
 44 fi
 45 
 46 # Run the script on all the litmus tests in the specified directory
 47 ret=0
 48 for i in $litmusdir/*.litmus
 49 do
 50         if test -n "$LKMM_HW_MAP_FILE" && ! scripts/simpletest.sh $i
 51         then
 52                 continue
 53         fi
 54         if ! scripts/checklitmus.sh $i
 55         then
 56                 ret=1
 57         fi
 58 done
 59 if test "$ret" -ne 0
 60 then
 61         echo " ^^^ VERIFICATION MISMATCHES" 1>&2
 62 else
 63         echo All litmus tests verified as was expected. 1>&2
 64 fi
 65 exit $ret

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php