1*aedbf1e0SPaul E. McKenney#!/bin/sh
2*aedbf1e0SPaul E. McKenney# SPDX-License-Identifier: GPL-2.0+
3*aedbf1e0SPaul E. McKenney#
4*aedbf1e0SPaul E. McKenney# Give zero status if this is a simple test and non-zero otherwise.
5*aedbf1e0SPaul E. McKenney# Simple tests do not contain locking, RCU, or SRCU.
6*aedbf1e0SPaul E. McKenney#
7*aedbf1e0SPaul E. McKenney# Usage:
8*aedbf1e0SPaul E. McKenney#	simpletest.sh file.litmus
9*aedbf1e0SPaul E. McKenney#
10*aedbf1e0SPaul E. McKenney# Copyright IBM Corporation, 2019
11*aedbf1e0SPaul E. McKenney#
12*aedbf1e0SPaul E. McKenney# Author: Paul E. McKenney <paulmck@linux.ibm.com>
13*aedbf1e0SPaul E. McKenney
14*aedbf1e0SPaul E. McKenney
15*aedbf1e0SPaul E. McKenneylitmus=$1
16*aedbf1e0SPaul E. McKenney
17*aedbf1e0SPaul E. McKenneyif test -f "$litmus" -a -r "$litmus"
18*aedbf1e0SPaul E. McKenneythen
19*aedbf1e0SPaul E. McKenney	:
20*aedbf1e0SPaul E. McKenneyelse
21*aedbf1e0SPaul E. McKenney	echo ' --- ' error: \"$litmus\" is not a readable file
22*aedbf1e0SPaul E. McKenney	exit 255
23*aedbf1e0SPaul E. McKenneyfi
24*aedbf1e0SPaul E. McKenneyexclude="^[[:space:]]*\("
25*aedbf1e0SPaul E. McKenneyexclude="${exclude}spin_lock(\|spin_unlock(\|spin_trylock(\|spin_is_locked("
26*aedbf1e0SPaul E. McKenneyexclude="${exclude}\|rcu_read_lock(\|rcu_read_unlock("
27*aedbf1e0SPaul E. McKenneyexclude="${exclude}\|synchronize_rcu(\|synchronize_rcu_expedited("
28*aedbf1e0SPaul E. McKenneyexclude="${exclude}\|srcu_read_lock(\|srcu_read_unlock("
29*aedbf1e0SPaul E. McKenneyexclude="${exclude}\|synchronize_srcu(\|synchronize_srcu_expedited("
30*aedbf1e0SPaul E. McKenneyexclude="${exclude}\)"
31*aedbf1e0SPaul E. McKenneyif grep -q $exclude $litmus
32*aedbf1e0SPaul E. McKenneythen
33*aedbf1e0SPaul E. McKenney	exit 255
34*aedbf1e0SPaul E. McKenneyfi
35*aedbf1e0SPaul E. McKenneyexit 0
36