Commit | Line | Data |
---|---|---|
0f1b18ab JK |
1 | #! /bin/sh |
2 | # runtest wrapper to reliably reproduce racy incomplete reads in the testsuite. | |
3 | ||
32d0add0 | 4 | # Copyright (C) 2013-2015 Free Software Foundation, Inc. |
0f1b18ab JK |
5 | # This program is free software; you can redistribute it and/or modify |
6 | # it under the terms of the GNU General Public License as published by | |
7 | # the Free Software Foundation; either version 3 of the License, or | |
8 | # (at your option) any later version. | |
9 | # | |
10 | # This program is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 | # GNU General Public License for more details. | |
14 | # | |
15 | # You should have received a copy of the GNU General Public License | |
16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
17 | ||
18 | # This tool excercise any incomplete reads handling in the testsuite by | |
19 | # simulating read always returns just 1 character. | |
20 | # Testsuite incompatibilities are tracked as GDB PR testsuite/12649. | |
21 | ||
22 | # Example usage: | |
23 | # | |
24 | # bash$ cd $objdir/gdb/testsuite | |
25 | # bash$ EXPECT=$srcdir/gdb/contrib/expect-read1.sh runtest | |
26 | # or | |
27 | # bash$ EXPECT=../contrib/expect-read1.sh runtest | |
28 | ||
29 | C=`echo $0|sed 's/\.sh$/.c/'` | |
30 | if ! test -e $C; then | |
31 | echo >&2 "$0: Cannot find 'srcdir/gdb/contrib/expect-read1.c' at '$C'." | |
32 | exit 2 | |
33 | fi | |
34 | SO=/tmp/expect-read1.$$.so | |
35 | rm -f $SO | |
36 | CMD="${CC_FOR_TARGET:-gcc} -o $SO -Wall -fPIC -shared $C" | |
37 | if ! $CMD; then | |
38 | echo >&2 "$0: Failed: $CMD" | |
39 | exit 2 | |
40 | fi | |
41 | trap "rm -f $SO" EXIT | |
42 | LD_PRELOAD=$SO expect "$@" |