]> git.ipfire.org Git - thirdparty/glibc.git/blob - locale/tst-locale-locpath.sh
Remove PREPARE_VERSION and PREPARE_VERSION_KNOW
[thirdparty/glibc.git] / locale / tst-locale-locpath.sh
1 #!/bin/sh
2 # Test that locale prints LOCPATH on failure.
3 # Copyright (C) 2019 Free Software Foundation, Inc.
4 # This file is part of the GNU C Library.
5
6 # The GNU C Library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License, or (at your option) any later version.
10
11 # The GNU C Library 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 GNU
14 # Lesser General Public License for more details.
15
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with the GNU C Library; if not, see
18 # <https://www.gnu.org/licenses/>.
19
20 set -ex
21
22 common_objpfx=$1
23 test_wrapper_env=$2
24 run_program_env=$3
25
26 LIBPATH="$common_objpfx"
27
28 testroot="${common_objpfx}locale/tst-locale-locpath-directory"
29 cleanup () {
30 rm -rf "$testroot"
31 }
32 trap cleanup 0
33
34 rm -rf "$testroot"
35 mkdir -p $testroot
36
37 unset LANG
38
39 ${test_wrapper_env} \
40 ${run_program_env} LC_ALL=invalid-locale LOCPATH=does-not-exist \
41 ${common_objpfx}elf/ld.so --library-path "$LIBPATH" \
42 "${common_objpfx}locale/locale" \
43 > "$testroot/stdout" 2> "$testroot/stderr"
44
45 echo "* standard error"
46 cat "$testroot/stderr"
47 echo "* standard output"
48 cat "$testroot/stdout"
49
50 cat > "$testroot/stderr-expected" <<EOF
51 ${common_objpfx}locale/locale: Cannot set LC_CTYPE to default locale: No such file or directory
52 ${common_objpfx}locale/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
53 ${common_objpfx}locale/locale: Cannot set LC_ALL to default locale: No such file or directory
54 warning: The LOCPATH variable is set to "does-not-exist"
55 EOF
56
57 cat > "$testroot/stdout-expected" <<EOF
58 LANG=
59 LC_CTYPE="invalid-locale"
60 LC_NUMERIC="invalid-locale"
61 LC_TIME="invalid-locale"
62 LC_COLLATE="invalid-locale"
63 LC_MONETARY="invalid-locale"
64 LC_MESSAGES="invalid-locale"
65 LC_PAPER="invalid-locale"
66 LC_NAME="invalid-locale"
67 LC_ADDRESS="invalid-locale"
68 LC_TELEPHONE="invalid-locale"
69 LC_MEASUREMENT="invalid-locale"
70 LC_IDENTIFICATION="invalid-locale"
71 LC_ALL=invalid-locale
72 EOF
73
74 errors=0
75 if ! cmp -s "$testroot/stderr-expected" "$testroot/stderr" ; then
76 echo "error: standard error not correct"
77 errors=1
78 fi
79 if ! cmp -s "$testroot/stdout-expected" "$testroot/stdout" ; then
80 echo "error: standard output not correct"
81 errors=1
82 fi
83 exit $errors