maint: tests: update deprecated perl backreference syntax
[coreutils.git] / tests / install / strip-program.sh
blobd676d7b0243ed592d4933d47ff84cd3e93ca61a4
1 #!/bin/sh
2 # Ensure "install -s --strip-program=PROGRAM" uses the program to strip
4 # Copyright (C) 2008-2024 Free Software Foundation, Inc.
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=.}/tests/init.sh"; path_prepend_ ./src
20 print_ver_ ginstall
22 working_umask_or_skip_
24 cat <<EOF > b || framework_failure_
25 #!$SHELL
26 sed s/b/B/ \$1 > \$1.t && mv \$1.t \$1
27 EOF
28 chmod a+x b || framework_failure_
30 echo abc > src || framework_failure_
31 echo aBc > exp || framework_failure_
32 ginstall src dest -s --strip-program=./b || fail=1
33 compare exp dest || fail=1
35 # Check that install cleans up properly if strip fails.
36 returns_ 1 ginstall src dest2 -s --strip-program=./FOO || fail=1
37 test -e dest2 && fail=1
39 # Ensure naked hyphens not passed
40 cat <<EOF > no-hyphen || framework_failure_
41 #!$SHELL
42 printf -- '%s\\n' "\$1" | grep '^[^-]'
43 EOF
44 chmod a+x no-hyphen || framework_failure_
46 ginstall -s --strip-program=./no-hyphen -- src -dest || fail=1
48 Exit $fail