xref: /dflybsd-src/tools/regression/bin/sh/builtins/locale1.0 (revision 3e3895bf4584c1562faf4533cbd97026ee6a8dcf)
1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/builtins/locale1.0 218819 2011-02-18 20:37:09Z jilles $
23df4d8b0SPeter Avalos# Note: this test depends on strerror() using locale.
33df4d8b0SPeter Avalos
43df4d8b0SPeter Avalosfailures=0
53df4d8b0SPeter Avalos
63df4d8b0SPeter Avaloscheck() {
73df4d8b0SPeter Avalos	if ! eval "[ $1 ]"; then
83df4d8b0SPeter Avalos		echo "Failed: $1 at $2"
93df4d8b0SPeter Avalos		: $((failures += 1))
103df4d8b0SPeter Avalos	fi
113df4d8b0SPeter Avalos}
123df4d8b0SPeter Avalos
133df4d8b0SPeter Avalosunset LANG LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME LC_MESSAGES
144bfff613SPeter Avalosunset LANGUAGE
153df4d8b0SPeter Avalos
163df4d8b0SPeter Avalosmsgeng="No such file or directory"
173df4d8b0SPeter Avalosmsgdut="Bestand of map niet gevonden"
183df4d8b0SPeter Avalos
193df4d8b0SPeter Avalos# Verify C locale error message.
203df4d8b0SPeter Avaloscase $(command . /var/empty/foo 2>&1) in
213df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
223df4d8b0SPeter Avalos	*) ok=0 ;;
233df4d8b0SPeter Avalosesac
243df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
253df4d8b0SPeter Avalos
263df4d8b0SPeter Avalos# Various locale variables that should not affect the message.
273df4d8b0SPeter Avaloscase $(LC_ALL=C command . /var/empty/foo 2>&1) in
283df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
293df4d8b0SPeter Avalos	*) ok=0 ;;
303df4d8b0SPeter Avalosesac
313df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
323df4d8b0SPeter Avalos
333df4d8b0SPeter Avaloscase $(LC_ALL=C LANG=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in
343df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
353df4d8b0SPeter Avalos	*) ok=0 ;;
363df4d8b0SPeter Avalosesac
373df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
383df4d8b0SPeter Avalos
393df4d8b0SPeter Avaloscase $(LC_ALL=C LC_MESSAGES=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in
403df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
413df4d8b0SPeter Avalos	*) ok=0 ;;
423df4d8b0SPeter Avalosesac
433df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
443df4d8b0SPeter Avalos
453df4d8b0SPeter Avaloscase $(LC_CTYPE=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in
463df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
473df4d8b0SPeter Avalos	*) ok=0 ;;
483df4d8b0SPeter Avalosesac
493df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
503df4d8b0SPeter Avalos
513df4d8b0SPeter Avalos# Verify Dutch message.
523df4d8b0SPeter Avaloscase $(export LANG=nl_NL.ISO8859-1; command . /var/empty/foo 2>&1) in
533df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
543df4d8b0SPeter Avalos	*) ok=0 ;;
553df4d8b0SPeter Avalosesac
563df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
573df4d8b0SPeter Avalos
583df4d8b0SPeter Avaloscase $(export LC_MESSAGES=nl_NL.ISO8859-1; command . /var/empty/foo 2>&1) in
593df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
603df4d8b0SPeter Avalos	*) ok=0 ;;
613df4d8b0SPeter Avalosesac
623df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
633df4d8b0SPeter Avalos
643df4d8b0SPeter Avaloscase $(export LC_ALL=nl_NL.ISO8859-1; command . /var/empty/foo 2>&1) in
653df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
663df4d8b0SPeter Avalos	*) ok=0 ;;
673df4d8b0SPeter Avalosesac
683df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
693df4d8b0SPeter Avalos
703df4d8b0SPeter Avaloscase $(LANG=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in
713df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
723df4d8b0SPeter Avalos	*) ok=0 ;;
733df4d8b0SPeter Avalosesac
743df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
753df4d8b0SPeter Avalos
763df4d8b0SPeter Avaloscase $(LC_MESSAGES=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in
773df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
783df4d8b0SPeter Avalos	*) ok=0 ;;
793df4d8b0SPeter Avalosesac
803df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
813df4d8b0SPeter Avalos
823df4d8b0SPeter Avaloscase $(LC_ALL=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1) in
833df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
843df4d8b0SPeter Avalos	*) ok=0 ;;
853df4d8b0SPeter Avalosesac
863df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
873df4d8b0SPeter Avalos
883df4d8b0SPeter Avalos# Verify that command assignments do not set the locale persistently.
893df4d8b0SPeter Avaloscase $(command . /var/empty/foo 2>&1) in
903df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
913df4d8b0SPeter Avalos	*) ok=0 ;;
923df4d8b0SPeter Avalosesac
933df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
943df4d8b0SPeter Avalos
953df4d8b0SPeter Avaloscase $(LANG=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1; command . /var/empty/foo 2>&1) in
963df4d8b0SPeter Avalos	*"$msgdut"*"$msgeng"*) ok=1 ;;
973df4d8b0SPeter Avalos	*) ok=0 ;;
983df4d8b0SPeter Avalosesac
993df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
1003df4d8b0SPeter Avalos
1013df4d8b0SPeter Avaloscase $(LC_MESSAGES=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1; command . /var/empty/foo 2>&1) in
1023df4d8b0SPeter Avalos	*"$msgdut"*"$msgeng"*) ok=1 ;;
1033df4d8b0SPeter Avalos	*) ok=0 ;;
1043df4d8b0SPeter Avalosesac
1053df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
1063df4d8b0SPeter Avalos
1073df4d8b0SPeter Avaloscase $(LC_ALL=nl_NL.ISO8859-1 command . /var/empty/foo 2>&1; command . /var/empty/foo 2>&1) in
1083df4d8b0SPeter Avalos	*"$msgdut"*"$msgeng"*) ok=1 ;;
1093df4d8b0SPeter Avalos	*) ok=0 ;;
1103df4d8b0SPeter Avalosesac
1113df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
1123df4d8b0SPeter Avalos
1133df4d8b0SPeter Avalos# Check special builtin; add colon invocation to avoid depending on certain fix.
1143df4d8b0SPeter Avaloscase $(LC_ALL=nl_NL.ISO8859-1 . /var/empty/foo 2>&1; :) in
1153df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
1163df4d8b0SPeter Avalos	*) ok=0 ;;
1173df4d8b0SPeter Avalosesac
1183df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
1193df4d8b0SPeter Avalos
1203df4d8b0SPeter Avalos# Assignments on special builtins are exported to that builtin; the export
1213df4d8b0SPeter Avalos# is not persistent.
1223df4d8b0SPeter Avaloscase $(LC_ALL=nl_NL.ISO8859-1 . /dev/null; . /var/empty/foo 2>&1) in
1233df4d8b0SPeter Avalos	*"$msgeng"*) ok=1 ;;
1243df4d8b0SPeter Avalos	*) ok=0 ;;
1253df4d8b0SPeter Avalosesac
1263df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
1273df4d8b0SPeter Avalos
1283df4d8b0SPeter Avaloscase $(export LC_ALL; LC_ALL=nl_NL.ISO8859-1 . /dev/null; . /var/empty/foo 2>&1) in
1293df4d8b0SPeter Avalos	*"$msgdut"*) ok=1 ;;
1303df4d8b0SPeter Avalos	*) ok=0 ;;
1313df4d8b0SPeter Avalosesac
1323df4d8b0SPeter Avaloscheck '$ok -eq 1' $LINENO
1333df4d8b0SPeter Avalos
1343df4d8b0SPeter Avalosexit $((failures > 0))
135