b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 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 | |
| 20 | litmus=$1 |
| 21 | herdoptions=${LKMM_HERD_OPTIONS--conf linux-kernel.cfg} |
| 22 | |
| 23 | if test -f "$litmus" -a -r "$litmus" |
| 24 | then |
| 25 | : |
| 26 | else |
| 27 | echo ' --- ' error: \"$litmus\" is not a readable file |
| 28 | exit 255 |
| 29 | fi |
| 30 | |
| 31 | echo Herd options: $herdoptions > $LKMM_DESTDIR/$litmus.out |
| 32 | /usr/bin/time $LKMM_TIMEOUT_CMD herd7 $herdoptions $litmus >> $LKMM_DESTDIR/$litmus.out 2>&1 |
| 33 | |
| 34 | scripts/judgelitmus.sh $litmus |