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