162306a36Sopenharmony_ci#!/bin/sh
262306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0+
362306a36Sopenharmony_ci#
462306a36Sopenharmony_ci# Give zero status if this is a simple test and non-zero otherwise.
562306a36Sopenharmony_ci# Simple tests do not contain locking, RCU, or SRCU.
662306a36Sopenharmony_ci#
762306a36Sopenharmony_ci# Usage:
862306a36Sopenharmony_ci#	simpletest.sh file.litmus
962306a36Sopenharmony_ci#
1062306a36Sopenharmony_ci# Copyright IBM Corporation, 2019
1162306a36Sopenharmony_ci#
1262306a36Sopenharmony_ci# Author: Paul E. McKenney <paulmck@linux.ibm.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cilitmus=$1
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciif test -f "$litmus" -a -r "$litmus"
1862306a36Sopenharmony_cithen
1962306a36Sopenharmony_ci	:
2062306a36Sopenharmony_cielse
2162306a36Sopenharmony_ci	echo ' --- ' error: \"$litmus\" is not a readable file
2262306a36Sopenharmony_ci	exit 255
2362306a36Sopenharmony_cifi
2462306a36Sopenharmony_ciexclude="^[[:space:]]*\("
2562306a36Sopenharmony_ciexclude="${exclude}spin_lock(\|spin_unlock(\|spin_trylock(\|spin_is_locked("
2662306a36Sopenharmony_ciexclude="${exclude}\|rcu_read_lock(\|rcu_read_unlock("
2762306a36Sopenharmony_ciexclude="${exclude}\|synchronize_rcu(\|synchronize_rcu_expedited("
2862306a36Sopenharmony_ciexclude="${exclude}\|srcu_read_lock(\|srcu_read_unlock("
2962306a36Sopenharmony_ciexclude="${exclude}\|synchronize_srcu(\|synchronize_srcu_expedited("
3062306a36Sopenharmony_ciexclude="${exclude}\)"
3162306a36Sopenharmony_ciif grep -q $exclude $litmus
3262306a36Sopenharmony_cithen
3362306a36Sopenharmony_ci	exit 255
3462306a36Sopenharmony_cifi
3562306a36Sopenharmony_ciexit 0
36