]> git.ipfire.org Git - thirdparty/glibc.git/blame - intl/tst-gettext2.sh
Sync move-if-change from Gnulib, updating copyright
[thirdparty/glibc.git] / intl / tst-gettext2.sh
CommitLineData
48d0341c 1#!/bin/sh
cdfb970d 2# Test of gettext functions.
581c785b 3# Copyright (C) 2000-2022 Free Software Foundation, Inc.
cdfb970d 4# This file is part of the GNU C Library.
41bdb6e2 5
cdfb970d 6# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
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
cdfb970d
UD
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
41bdb6e2
AJ
14# Lesser General Public License for more details.
15
16# You should have received a copy of the GNU Lesser General Public
59ba27a6 17# License along with the GNU C Library; if not, see
5a82c748 18# <https://www.gnu.org/licenses/>.
cdfb970d 19
57c69bef
DL
20set -e
21
cdfb970d 22common_objpfx=$1
8540f6d2
JM
23test_program_prefix_before_env=$2
24run_program_env=$3
25test_program_prefix_after_env=$4
26objpfx=$5
cdfb970d
UD
27
28# Generate the test data.
fee732e5 29mkdir -p ${objpfx}domaindir
cdfb970d 30# Create the locale directories.
f469c49f
MF
31mkdir -p \
32 ${objpfx}domaindir/lang1/LC_MESSAGES \
33 ${objpfx}domaindir/lang2/LC_MESSAGES
34
35for f in ADDRESS COLLATE CTYPE IDENTIFICATION MEASUREMENT MONETARY NAME NUMERIC PAPER TELEPHONE TIME; do
36 [ -e ${objpfx}domaindir/lang1/LC_$f ] ||
111bb972
UD
37 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_$f \
38 ${objpfx}domaindir/lang1
f469c49f 39 [ -e ${objpfx}domaindir/lang2/LC_$f ] ||
111bb972
UD
40 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_$f \
41 ${objpfx}domaindir/lang2
f469c49f
MF
42done
43test -e ${objpfx}domaindir/lang1/LC_MESSAGES/SYS_LC_MESSAGES || {
111bb972
UD
44 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES \
45 ${objpfx}domaindir/lang1/LC_MESSAGES
46}
f469c49f 47test -e ${objpfx}domaindir/lang2/LC_MESSAGES/SYS_LC_MESSAGES || {
111bb972
UD
48 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES \
49 ${objpfx}domaindir/lang2/LC_MESSAGES
50}
51
cdfb970d
UD
52# Populate them.
53msgfmt -o ${objpfx}domaindir/lang1/LC_MESSAGES/tstlang.mo \
54 tstlang1.po
55
56msgfmt -o ${objpfx}domaindir/lang2/LC_MESSAGES/tstlang.mo \
57 tstlang2.po
58
cdfb970d 59# Now run the test.
8540f6d2
JM
60${test_program_prefix_before_env} \
61${run_program_env} \
62LOCPATH=${objpfx}domaindir \
63${test_program_prefix_after_env} \
111bb972
UD
64${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir &&
65cmp ${objpfx}tst-gettext2.out - <<EOF
66String1 - Lang1: 1st string
67String2 - Lang1: 2nd string
68String1 - Lang2: 1st string
69String2 - Lang2: 2nd string
70String1 - First string for testing.
71String2 - Another string for testing.
72EOF
cdfb970d
UD
73
74exit $?