xref: /aosp_15_r20/external/linux-kselftest/tools/testing/selftests/futex/functional/run.sh (revision 053f45be4e351dfd5e965df293cd45b779f579ee)
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0-or-later
3
4###############################################################################
5#
6#   Copyright © International Business Machines  Corp., 2009
7#
8# DESCRIPTION
9#      Run tests in the current directory.
10#
11# AUTHOR
12#      Darren Hart <[email protected]>
13#
14# HISTORY
15#      2009-Nov-9: Initial version by Darren Hart <[email protected]>
16#      2010-Jan-6: Add futex_wait_uninitialized_heap and futex_wait_private_mapped_file
17#                  by KOSAKI Motohiro <[email protected]>
18#
19###############################################################################
20
21run_test()
22{
23    $@
24    ret=$?
25    if [ $ret -ne 0 ] && [ $ret -ne 4 ]; then  # KSFT_SKIP=4
26        echo "Failed with $ret"
27        rc=1
28    fi
29}
30
31# Test for a color capable console
32if [ -z "$USE_COLOR" ]; then
33    tput setf 7 || tput setaf 7
34    if [ $? -eq 0 ]; then
35        USE_COLOR=1
36        tput sgr0
37    fi
38fi
39if [ "$USE_COLOR" -eq 1 ]; then
40    COLOR="-c"
41fi
42
43
44echo
45# requeue pi testing
46# without timeouts
47run_test ./futex_requeue_pi $COLOR
48run_test ./futex_requeue_pi $COLOR -b
49run_test ./futex_requeue_pi $COLOR -b -l
50run_test ./futex_requeue_pi $COLOR -b -o
51run_test ./futex_requeue_pi $COLOR -l
52run_test ./futex_requeue_pi $COLOR -o
53# with timeouts
54run_test ./futex_requeue_pi $COLOR -b -l -t 5000
55run_test ./futex_requeue_pi $COLOR -l -t 5000
56run_test ./futex_requeue_pi $COLOR -b -l -t 500000
57run_test ./futex_requeue_pi $COLOR -l -t 500000
58run_test ./futex_requeue_pi $COLOR -b -t 5000
59run_test ./futex_requeue_pi $COLOR -t 5000
60run_test ./futex_requeue_pi $COLOR -b -t 500000
61run_test ./futex_requeue_pi $COLOR -t 500000
62run_test ./futex_requeue_pi $COLOR -b -o -t 5000
63run_test ./futex_requeue_pi $COLOR -l -t 5000
64run_test ./futex_requeue_pi $COLOR -b -o -t 500000
65run_test ./futex_requeue_pi $COLOR -l -t 500000
66# with long timeout
67run_test ./futex_requeue_pi $COLOR -b -l -t 2000000000
68run_test ./futex_requeue_pi $COLOR -l -t 2000000000
69
70
71echo
72run_test ./futex_requeue_pi_mismatched_ops $COLOR
73
74echo
75run_test ./futex_requeue_pi_signal_restart $COLOR
76
77echo
78run_test ./futex_wait_timeout $COLOR
79
80echo
81run_test ./futex_wait_wouldblock $COLOR
82
83echo
84run_test ./futex_wait_uninitialized_heap $COLOR
85run_test ./futex_wait_private_mapped_file $COLOR
86
87echo
88run_test ./futex_wait $COLOR
89
90echo
91run_test ./futex_requeue $COLOR
92
93# b/234151152
94# Disable because system v shared memory not available
95#echo
96#run_test ./futex_waitv $COLOR
97
98exit $rc
99