| xf.li | bdd93d5 | 2023-05-12 07:10:14 -0700 | [diff] [blame] | 1 | #!/bin/sh | 
|  | 2 | # Test of gettext functions. | 
|  | 3 | # Copyright (C) 2000-2016 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 | # <http://www.gnu.org/licenses/>. | 
|  | 19 |  | 
|  | 20 | set -e | 
|  | 21 |  | 
|  | 22 | common_objpfx=$1 | 
|  | 23 | test_program_prefix_before_env=$2 | 
|  | 24 | run_program_env=$3 | 
|  | 25 | test_program_prefix_after_env=$4 | 
|  | 26 | objpfx=$5 | 
|  | 27 |  | 
|  | 28 | # Generate the test data. | 
|  | 29 | mkdir -p ${objpfx}domaindir | 
|  | 30 | # Create the locale directories. | 
|  | 31 | mkdir -p \ | 
|  | 32 | ${objpfx}domaindir/lang1/LC_MESSAGES \ | 
|  | 33 | ${objpfx}domaindir/lang2/LC_MESSAGES | 
|  | 34 |  | 
|  | 35 | for 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 | 
|  | 42 | done | 
|  | 43 | test -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 | } | 
|  | 47 | test -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. | 
|  | 53 | msgfmt -o ${objpfx}domaindir/lang1/LC_MESSAGES/tstlang.mo \ | 
|  | 54 | tstlang1.po | 
|  | 55 |  | 
|  | 56 | msgfmt -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} \ | 
|  | 62 | LOCPATH=${objpfx}domaindir \ | 
|  | 63 | ${test_program_prefix_after_env} \ | 
|  | 64 | ${objpfx}tst-gettext2 > ${objpfx}tst-gettext2.out ${objpfx}domaindir && | 
|  | 65 | cmp ${objpfx}tst-gettext2.out - <<EOF | 
|  | 66 | String1 - Lang1: 1st string | 
|  | 67 | String2 - Lang1: 2nd string | 
|  | 68 | String1 - Lang2: 1st string | 
|  | 69 | String2 - Lang2: 2nd string | 
|  | 70 | String1 - First string for testing. | 
|  | 71 | String2 - Another string for testing. | 
|  | 72 | EOF | 
|  | 73 |  | 
|  | 74 | exit $? |