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 27 28# Generate the test data. 29mkdir -p ${objpfx}domaindir 30# Create the locale directories. 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 ] || 37 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_$f \ 38 ${objpfx}domaindir/lang1 39 [ -e ${objpfx}domaindir/lang2/LC_$f ] || 40 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_$f \ 41 ${objpfx}domaindir/lang2 42done 43test -e ${objpfx}domaindir/lang1/LC_MESSAGES/SYS_LC_MESSAGES || { 44 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES \ 45 ${objpfx}domaindir/lang1/LC_MESSAGES 46} 47test -e ${objpfx}domaindir/lang2/LC_MESSAGES/SYS_LC_MESSAGES || { 48 cp ${common_objpfx}localedata/de_DE.ISO-8859-1/LC_MESSAGES/SYS_LC_MESSAGES \ 49 ${objpfx}domaindir/lang2/LC_MESSAGES 50} 51 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 59# Now run the test. 60${test_program_prefix_before_env} \ 61${run_program_env} \ 62LOCPATH=${objpfx}domaindir \ 63${test_program_prefix_after_env} \ 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 73 74exit $? 75