1#!/bin/sh
2# Test of gettext functions.
3# Copyright (C) 2000-2022 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
20set -e
21
22common_objpfx=$1
23test_program_prefix_before_env=$2
24run_program_env=$3
25test_program_prefix_after_env=$4
26objpfx=$5
27malloc_trace=$6
28
29# Generate the test data.
30
31# Create the locale directories.
32mkdir -p ${objpfx}localedir/existing-locale/LC_MESSAGES
33for f in ADDRESS COLLATE CTYPE IDENTIFICATION MEASUREMENT MONETARY NAME NUMERIC PAPER TELEPHONE TIME; do
34  cp -f ${common_objpfx}localedata/de_DE.UTF-8/LC_$f \
35        ${objpfx}localedir/existing-locale
36done
37cp -f ${common_objpfx}localedata/de_DE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES \
38      ${objpfx}localedir/existing-locale/LC_MESSAGES
39
40# Create the domain directories.
41mkdir -p ${objpfx}domaindir/existing-locale/LC_MESSAGES
42mkdir -p ${objpfx}domaindir/existing-locale/LC_TIME
43# Populate them.
44msgfmt -o ${objpfx}domaindir/existing-locale/LC_MESSAGES/existing-domain.mo \
45       -f ${objpfx}tst-gettext-de.po
46msgfmt -o ${objpfx}domaindir/existing-locale/LC_TIME/existing-time-domain.mo \
47       -f ${objpfx}tst-gettext-de.po
48
49# Now run the test.
50${test_program_prefix_before_env} \
51${run_program_env} \
52MALLOC_TRACE=$malloc_trace \
53LD_PRELOAD=${common_objpfx}malloc/libc_malloc_debug.so \
54LOCPATH=${objpfx}localedir:${common_objpfx}localedata \
55${test_program_prefix_after_env} \
56${objpfx}tst-gettext > ${objpfx}tst-gettext.out ${objpfx}domaindir
57
58exit $?
59