openat: don’t close (-1)
[gnulib.git] / tests / test-exclude2.sh
blob4571155475a383f40ad19b0b2aea3ff8d5adae13
1 #! /bin/sh
2 # Test suite for exclude.
3 # Copyright (C) 2009-2024 Free Software Foundation, Inc.
4 # This file is part of the GNUlib Library.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19 . "${srcdir=.}/init.sh"; path_prepend_ .
20 fail=0
22 cat > in <<EOT
23 foo*
24 bar
25 Baz
26 EOT
28 # Test case-insensitive literal matches
30 cat > expected <<EOT
31 foo: 0
32 foo*: 1
33 bar: 1
34 foobar: 0
35 baz: 1
36 bar/qux: 0
37 EOT
39 ${CHECKER} test-exclude -casefold in -- foo 'foo*' bar foobar baz bar/qux > out || exit $?
41 # Find out how to remove carriage returns from output. Solaris /usr/ucb/tr
42 # does not understand '\r'.
43 case $(echo r | tr -d '\r') in '') cr='\015';; *) cr='\r';; esac
45 # normalize output
46 LC_ALL=C tr -d "$cr" < out > k && mv k out
48 compare expected out || fail=1
50 Exit $fail