# sh -c 'prove -rv /usr/src.svn/tools/regression/bin/sh/' /usr/src.svn/tools/regression/bin/sh/regress.t .. 1..350 ok 1 - ./builtins/alias.0 ok 2 - ./builtins/alias.1 ok 3 - ./builtins/alias3.0 ok 4 - ./builtins/break1.0 ok 5 - ./builtins/break2.0 ok 6 - ./builtins/break3.0 ok 7 - ./builtins/break4.4 ok 8 - ./builtins/break5.4 ok 9 - ./builtins/builtin1.0 ok 10 - ./builtins/case1.0 ok 11 - ./builtins/case10.0 ok 12 - ./builtins/case11.0 ok 13 - ./builtins/case12.0 ok 14 - ./builtins/case13.0 ok 15 - ./builtins/case14.0 ok 16 - ./builtins/case15.0 ok 17 - ./builtins/case16.0 ok 18 - ./builtins/case17.0 ok 19 - ./builtins/case18.0 ok 20 - ./builtins/case19.0 ok 21 - ./builtins/case2.0 ok 22 - ./builtins/case3.0 ok 23 - ./builtins/case4.0 ok 24 - ./builtins/case5.0 ok 25 - ./builtins/case6.0 ok 26 - ./builtins/case7.0 ok 27 - ./builtins/case8.0 ok 28 - ./builtins/case9.0 ok 29 - ./builtins/cd1.0 ok 30 - ./builtins/cd2.0 ok 31 - ./builtins/cd3.0 ok 32 - ./builtins/cd4.0 ok 33 - ./builtins/cd5.0 ok 34 - ./builtins/cd6.0 ok 35 - ./builtins/cd7.0 ok 36 - ./builtins/cd8.0 ok 37 - ./builtins/command1.0 ok 38 - ./builtins/command10.0 ok 39 - ./builtins/command11.0 ok 40 - ./builtins/command2.0 ok 41 - ./builtins/command3.0 ok 42 - ./builtins/command4.0 ok 43 - ./builtins/command5.0 ok 44 - ./builtins/command6.0 ok 45 - ./builtins/command7.0 ok 46 - ./builtins/command8.0 ok 47 - ./builtins/command9.0 ok 48 - ./builtins/dot1.0 ok 49 - ./builtins/dot2.0 ok 50 - ./builtins/dot3.0 ok 51 - ./builtins/dot4.0 ok 52 - ./builtins/eval1.0 ok 53 - ./builtins/eval2.0 ok 54 - ./builtins/eval3.0 ok 55 - ./builtins/eval4.0 ok 56 - ./builtins/eval5.0 ok 57 - ./builtins/eval6.0 ok 58 - ./builtins/exec1.0 ok 59 - ./builtins/exec2.0 ok 60 - ./builtins/exit1.0 ok 61 - ./builtins/exit2.8 ok 62 - ./builtins/exit3.0 ok 63 - ./builtins/export1.0 ok 64 - ./builtins/fc1.0 ok 65 - ./builtins/fc2.0 ok 66 - ./builtins/for1.0 ok 67 - ./builtins/for2.0 ok 68 - ./builtins/for3.0 ok 69 - ./builtins/getopts1.0 ok 70 - ./builtins/getopts2.0 ok 71 - ./builtins/hash1.0 ok 72 - ./builtins/hash2.0 ok 73 - ./builtins/hash3.0 ok 74 - ./builtins/hash4.0 ok 75 - ./builtins/lineno.0 ok 76 - ./builtins/local1.0 ok 77 - ./builtins/local2.0 ok 78 - ./builtins/local3.0 not ok 79 - ./builtins/locale1.0 # wrong exit status ok 80 - ./builtins/printf1.0 ok 81 - ./builtins/printf2.0 ok 82 - ./builtins/printf3.0 ok 83 - ./builtins/printf4.0 ok 84 - ./builtins/read1.0 ok 85 - ./builtins/read2.0 ok 86 - ./builtins/read3.0 ok 87 - ./builtins/read4.0 ok 88 - ./builtins/read5.0 ok 89 - ./builtins/read6.0 ok 90 - ./builtins/read7.0 ok 91 - ./builtins/return1.0 ok 92 - ./builtins/return2.1 ok 93 - ./builtins/return3.1 ok 94 - ./builtins/return4.0 ok 95 - ./builtins/return5.0 ok 96 - ./builtins/return6.4 ok 97 - ./builtins/return7.4 ok 98 - ./builtins/set1.0 ok 99 - ./builtins/set2.0 ok 100 - ./builtins/trap1.0 ok 101 - ./builtins/trap10.0 ok 102 - ./builtins/trap11.0 ok 103 - ./builtins/trap12.0 ok 104 - ./builtins/trap2.0 ok 105 - ./builtins/trap3.0 ok 106 - ./builtins/trap4.0 ok 107 - ./builtins/trap5.0 ok 108 - ./builtins/trap6.0 ok 109 - ./builtins/trap7.0 ok 110 - ./builtins/trap8.0 ok 111 - ./builtins/trap9.0 ok 112 - ./builtins/type1.0 ok 113 - ./builtins/type2.0 ok 114 - ./builtins/unalias.0 ok 115 - ./builtins/var-assign.0 ok 116 - ./builtins/var-assign2.0 ok 117 - ./builtins/wait1.0 ok 118 - ./builtins/wait10.0 ok 119 - ./builtins/wait2.0 ok 120 - ./builtins/wait3.0 ok 121 - ./builtins/wait4.0 ok 122 - ./builtins/wait5.0 ok 123 - ./builtins/wait6.0 ok 124 - ./builtins/wait7.0 ok 125 - ./builtins/wait8.0 ok 126 - ./builtins/wait9.127 ok 127 - ./errors/assignment-error1.0 ok 128 - ./errors/assignment-error2.0 ok 129 - ./errors/backquote-error1.0 ok 130 - ./errors/backquote-error2.0 ok 131 - ./errors/bad-binary1.126 ok 132 - ./errors/bad-keyword1.0 ok 133 - ./errors/bad-parm-exp1.0 ok 134 - ./errors/bad-parm-exp2.2 ok 135 - ./errors/bad-parm-exp3.2 ok 136 - ./errors/bad-parm-exp4.2 ok 137 - ./errors/bad-parm-exp5.2 ok 138 - ./errors/bad-parm-exp6.2 ok 139 - ./errors/option-error.0 ok 140 - ./errors/redirection-error.0 ok 141 - ./errors/redirection-error2.2 ok 142 - ./errors/redirection-error3.0 ok 143 - ./errors/redirection-error4.0 ok 144 - ./errors/redirection-error5.0 ok 145 - ./errors/redirection-error6.0 ok 146 - ./errors/redirection-error7.0 ok 147 - ./errors/write-error1.0 ok 148 - ./execution/bg1.0 ok 149 - ./execution/bg2.0 ok 150 - ./execution/bg3.0 ok 151 - ./execution/bg4.0 ok 152 - ./execution/fork1.0 ok 153 - ./execution/fork2.0 ok 154 - ./execution/fork3.0 ok 155 - ./execution/func1.0 ok 156 - ./execution/func2.0 ok 157 - ./execution/func3.0 ok 158 - ./execution/hash1.0 ok 159 - ./execution/int-cmd1.0 ok 160 - ./execution/killed1.0 ok 161 - ./execution/killed2.0 ok 162 - ./execution/not1.0 ok 163 - ./execution/not2.0 ok 164 - ./execution/path1.0 ok 165 - ./execution/redir1.0 ok 166 - ./execution/redir2.0 ok 167 - ./execution/redir3.0 ok 168 - ./execution/redir4.0 ok 169 - ./execution/redir5.0 ok 170 - ./execution/redir6.0 ok 171 - ./execution/redir7.0 ok 172 - ./execution/set-n1.0 ok 173 - ./execution/set-n2.0 ok 174 - ./execution/set-n3.0 ok 175 - ./execution/set-n4.0 ok 176 - ./execution/set-x1.0 ok 177 - ./execution/set-x2.0 ok 178 - ./execution/set-x3.0 ok 179 - ./execution/shellproc1.0 ok 180 - ./execution/subshell1.0 ok 181 - ./execution/subshell2.0 ok 182 - ./execution/subshell3.0 ok 183 - ./execution/subshell4.0 ok 184 - ./execution/unknown1.0 ok 185 - ./execution/var-assign1.0 ok 186 - ./expansion/arith1.0 ok 187 - ./expansion/arith10.0 ok 188 - ./expansion/arith11.0 ok 189 - ./expansion/arith12.0 ok 190 - ./expansion/arith2.0 ok 191 - ./expansion/arith3.0 ok 192 - ./expansion/arith4.0 ok 193 - ./expansion/arith5.0 ok 194 - ./expansion/arith6.0 ok 195 - ./expansion/arith7.0 ok 196 - ./expansion/arith8.0 ok 197 - ./expansion/arith9.0 ok 198 - ./expansion/assign1.0 ok 199 - ./expansion/cmdsubst1.0 ok 200 - ./expansion/cmdsubst10.0 ok 201 - ./expansion/cmdsubst11.0 ok 202 - ./expansion/cmdsubst12.0 ok 203 - ./expansion/cmdsubst13.0 ok 204 - ./expansion/cmdsubst14.0 ok 205 - ./expansion/cmdsubst15.0 ok 206 - ./expansion/cmdsubst16.0 ok 207 - ./expansion/cmdsubst17.0 ok 208 - ./expansion/cmdsubst2.0 ok 209 - ./expansion/cmdsubst3.0 ok 210 - ./expansion/cmdsubst4.0 ok 211 - ./expansion/cmdsubst5.0 ok 212 - ./expansion/cmdsubst6.0 ok 213 - ./expansion/cmdsubst7.0 ok 214 - ./expansion/cmdsubst8.0 ok 215 - ./expansion/cmdsubst9.0 ok 216 - ./expansion/export1.0 ok 217 - ./expansion/export2.0 ok 218 - ./expansion/export3.0 ok 219 - ./expansion/heredoc1.0 ok 220 - ./expansion/heredoc2.0 ok 221 - ./expansion/ifs1.0 ok 222 - ./expansion/ifs2.0 ok 223 - ./expansion/ifs3.0 ok 224 - ./expansion/ifs4.0 ok 225 - ./expansion/length1.0 ok 226 - ./expansion/length2.0 ok 227 - ./expansion/length3.0 ok 228 - ./expansion/length4.0 ok 229 - ./expansion/length5.0 ok 230 - ./expansion/length6.0 ok 231 - ./expansion/length7.0 ok 232 - ./expansion/length8.0 ok 233 - ./expansion/local1.0 ok 234 - ./expansion/local2.0 ok 235 - ./expansion/pathname1.0 ok 236 - ./expansion/pathname2.0 ok 237 - ./expansion/pathname3.0 ok 238 - ./expansion/pathname4.0 ok 239 - ./expansion/plus-minus1.0 ok 240 - ./expansion/plus-minus2.0 ok 241 - ./expansion/plus-minus3.0 ok 242 - ./expansion/plus-minus4.0 ok 243 - ./expansion/plus-minus5.0 ok 244 - ./expansion/plus-minus6.0 ok 245 - ./expansion/plus-minus7.0 ok 246 - ./expansion/plus-minus8.0 ok 247 - ./expansion/question1.0 ok 248 - ./expansion/readonly1.0 ok 249 - ./expansion/set-u1.0 ok 250 - ./expansion/set-u2.0 ok 251 - ./expansion/set-u3.0 ok 252 - ./expansion/tilde1.0 ok 253 - ./expansion/tilde2.0 ok 254 - ./expansion/trim1.0 ok 255 - ./expansion/trim2.0 ok 256 - ./expansion/trim3.0 ok 257 - ./expansion/trim4.0 ok 258 - ./expansion/trim5.0 ok 259 - ./expansion/trim6.0 ok 260 - ./expansion/trim7.0 ok 261 - ./expansion/trim8.0 ok 262 - ./parameters/env1.0 ok 263 - ./parameters/exitstatus1.0 ok 264 - ./parameters/mail1.0 ok 265 - ./parameters/mail2.0 ok 266 - ./parameters/optind1.0 ok 267 - ./parameters/positional1.0 ok 268 - ./parameters/positional2.0 ok 269 - ./parameters/pwd1.0 ok 270 - ./parameters/pwd2.0 ok 271 - ./parser/alias1.0 ok 272 - ./parser/alias10.0 ok 273 - ./parser/alias2.0 ok 274 - ./parser/alias3.0 ok 275 - ./parser/alias4.0 ok 276 - ./parser/alias5.0 ok 277 - ./parser/alias6.0 ok 278 - ./parser/alias7.0 ok 279 - ./parser/alias8.0 ok 280 - ./parser/alias9.0 ok 281 - ./parser/and-pipe-not.0 ok 282 - ./parser/case1.0 ok 283 - ./parser/case2.0 ok 284 - ./parser/dollar-quote1.0 ok 285 - ./parser/dollar-quote10.0 ok 286 - ./parser/dollar-quote11.0 ok 287 - ./parser/dollar-quote2.0 ok 288 - ./parser/dollar-quote3.0 ok 289 - ./parser/dollar-quote4.0 ok 290 - ./parser/dollar-quote5.0 ok 291 - ./parser/dollar-quote6.0 ok 292 - ./parser/dollar-quote7.0 ok 293 - ./parser/dollar-quote8.0 ok 294 - ./parser/dollar-quote9.0 ok 295 - ./parser/empty-braces1.0 ok 296 - ./parser/for1.0 ok 297 - ./parser/for2.0 ok 298 - ./parser/func1.0 ok 299 - ./parser/func2.0 ok 300 - ./parser/func3.0 ok 301 - ./parser/heredoc1.0 ok 302 - ./parser/heredoc10.0 ok 303 - ./parser/heredoc11.0 ok 304 - ./parser/heredoc2.0 ok 305 - ./parser/heredoc3.0 ok 306 - ./parser/heredoc4.0 ok 307 - ./parser/heredoc5.0 ok 308 - ./parser/heredoc6.0 ok 309 - ./parser/heredoc7.0 ok 310 - ./parser/heredoc8.0 ok 311 - ./parser/heredoc9.0 ok 312 - ./parser/no-space1.0 ok 313 - ./parser/no-space2.0 ok 314 - ./parser/only-redir1.0 ok 315 - ./parser/pipe-not1.0 ok 316 - ./set-e/and1.0 ok 317 - ./set-e/and2.1 ok 318 - ./set-e/and3.0 ok 319 - ./set-e/and4.0 ok 320 - ./set-e/background1.0 ok 321 - ./set-e/cmd1.0 ok 322 - ./set-e/cmd2.1 ok 323 - ./set-e/elif1.0 ok 324 - ./set-e/elif2.0 ok 325 - ./set-e/eval1.0 ok 326 - ./set-e/eval2.1 ok 327 - ./set-e/for1.0 ok 328 - ./set-e/func1.0 ok 329 - ./set-e/func2.1 ok 330 - ./set-e/if1.0 ok 331 - ./set-e/if2.0 ok 332 - ./set-e/if3.0 ok 333 - ./set-e/not1.0 ok 334 - ./set-e/not2.0 ok 335 - ./set-e/or1.0 ok 336 - ./set-e/or2.0 ok 337 - ./set-e/or3.1 ok 338 - ./set-e/pipe1.1 ok 339 - ./set-e/pipe2.0 ok 340 - ./set-e/return1.0 ok 341 - ./set-e/semi1.1 ok 342 - ./set-e/semi2.1 ok 343 - ./set-e/subshell1.0 ok 344 - ./set-e/subshell2.1 ok 345 - ./set-e/until1.0 ok 346 - ./set-e/until2.0 ok 347 - ./set-e/until3.0 ok 348 - ./set-e/while1.0 ok 349 - ./set-e/while2.0 ok 350 - ./set-e/while3.0 Failed 1/350 subtests Test Summary Report ------------------- /usr/src.svn/tools/regression/bin/sh/regress.t (Wstat: 0 Tests: 350 Failed: 1) Failed test: 79 How-To-Repeat: prove -rv tools/regression/bin/sh/regress.t
In PR misc/181151, you wrote: > [sh test builtins/locale1.0 fails] I think you have disabled some parts of locale support, since it works fine here. The test uses nl_NL.ISO8859-1 as its non-English locale. -- Jilles Tjoelker
On Aug 9, 2013, at 6:06 AM, Jilles Tjoelker <jilles@stack.nl> wrote: > In PR misc/181151, you wrote: >> [sh test builtins/locale1.0 fails] >=20 > I think you have disabled some parts of locale support, since it works > fine here. The test uses nl_NL.ISO8859-1 as its non-English locale. What exactly do I need in order to make this test pass? It=92s = the one test that=92s not passing on my CURRENT VM now.. Thanks, -Garrett=
On Fri, Jan 17, 2014 at 11:05:28PM -0800, Garrett Cooper wrote: > On Aug 9, 2013, at 6:06 AM, Jilles Tjoelker <jilles@stack.nl> wrote: > > In PR misc/181151, you wrote: > >> [sh test builtins/locale1.0 fails] > > I think you have disabled some parts of locale support, since it works > > fine here. The test uses nl_NL.ISO8859-1 as its non-English locale. > What exactly do I need in order to make this test pass? Itâs the one > test thatâs not passing on my CURRENT VM now.. You can debug by running the test manually. From bin/sh/tests/, run SH=sh sh builtins/locale1.0 or SH=sh sh -x builtins/locale1.0 and look at what it does not like. -- Jilles Tjoelker
On Jan 19, 2014, at 5:27 AM, Jilles Tjoelker <jilles@stack.nl> wrote: > On Fri, Jan 17, 2014 at 11:05:28PM -0800, Garrett Cooper wrote: >> On Aug 9, 2013, at 6:06 AM, Jilles Tjoelker <jilles@stack.nl> wrote: >=20 >>> In PR misc/181151, you wrote: >>>> [sh test builtins/locale1.0 fails] >=20 >>> I think you have disabled some parts of locale support, since it = works >>> fine here. The test uses nl_NL.ISO8859-1 as its non-English locale. >=20 >> What exactly do I need in order to make this test pass? It=92s the = one >> test that=92s not passing on my CURRENT VM now.. >=20 > You can debug by running the test manually. =46rom bin/sh/tests/, run > SH=3Dsh sh builtins/locale1.0 > or > SH=3Dsh sh -x builtins/locale1.0 > and look at what it does not like. Ok, some issues. 1. I set SH to /usr/local/bin/bash in .shrc-local, so that=92s not going = to work with the tests out of the box. The tests need to unset/use a = different variable name other than ${SH} IMHO as it=92s a standard shell = variable. 2. Checking for /var/empty/foo might not be such a great idea. Why not = create a temporary file, then delete it? 3. Other than that, the locale tests don=92t seem to be working as = expected (it=92s acting like LANG=3DC =97 output=92s available below). Thanks! -Garrett # /bin/sh -x builtins/locale1.0=20 + failures=3D0 + unset LANG LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME = LC_MESSAGES + unset LANGUAGE + msgeng=3D'No such file or directory' + msgdut=3D'Bestand of map niet gevonden' + command . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 24 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + LC_ALL=3DC command . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 31 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + LC_ALL=3DC LANG=3Dnl_NL.ISO8859-1 command . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 37 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + LC_ALL=3DC LC_MESSAGES=3Dnl_NL.ISO8859-1 command . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 43 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + LC_CTYPE=3Dnl_NL.ISO8859-1 command . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 49 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + export LANG=3Dnl_NL.ISO8859-1 + command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 56 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 56' Failed: $ok -eq 1 at 56 + : 1 + export LC_MESSAGES=3Dnl_NL.ISO8859-1 + command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 62 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 62' Failed: $ok -eq 1 at 62 + : 2 + export LC_ALL=3Dnl_NL.ISO8859-1 + command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 68 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 68' Failed: $ok -eq 1 at 68 + : 3 + LANG=3Dnl_NL.ISO8859-1 command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 74 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 74' Failed: $ok -eq 1 at 74 + : 4 + LC_MESSAGES=3Dnl_NL.ISO8859-1 command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 80 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 80' Failed: $ok -eq 1 at 80 + : 5 + LC_ALL=3Dnl_NL.ISO8859-1 command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 86 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 86' Failed: $ok -eq 1 at 86 + : 6 + command . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 93 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + LANG=3Dnl_NL.ISO8859-1 command . /var/empty/foo + command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 99 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 99' Failed: $ok -eq 1 at 99 + : 7 + LC_MESSAGES=3Dnl_NL.ISO8859-1 command . /var/empty/foo + command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 105 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 105' Failed: $ok -eq 1 at 105 + : 8 + LC_ALL=3Dnl_NL.ISO8859-1 command . /var/empty/foo + command . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 111 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 111' Failed: $ok -eq 1 at 111 + : 9 + LC_ALL=3Dnl_NL.ISO8859-1 . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 118 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 118' Failed: $ok -eq 1 at 118 + : 10 + LC_ALL=3Dnl_NL.ISO8859-1 . /dev/null + . /var/empty/foo + ok=3D1 + check '$ok -eq 1' 126 + eval '[ $ok -eq 1 ]' + [ 1 -eq 1 ] + export LC_ALL + LC_ALL=3Dnl_NL.ISO8859-1 . /dev/null + . /var/empty/foo + ok=3D0 + check '$ok -eq 1' 132 + eval '[ $ok -eq 1 ]' + [ 0 -eq 1 ] + echo 'Failed: $ok -eq 1 at 132' Failed: $ok -eq 1 at 132 + : 11 + exit 1 # env LC_CTYPE=3Dnl_NL.ISO8859-1 /bin/sh -c 'command . /var/empty/foo' .: cannot open /var/empty/foo: No such file or directory=
On Mon, Jan 20, 2014 at 10:37:40AM -0800, Garrett Cooper wrote: > On Jan 19, 2014, at 5:27 AM, Jilles Tjoelker <jilles@stack.nl> wrote: > > On Fri, Jan 17, 2014 at 11:05:28PM -0800, Garrett Cooper wrote: > >> On Aug 9, 2013, at 6:06 AM, Jilles Tjoelker <jilles@stack.nl> wrote: > >>> In PR misc/181151, you wrote: > >>>> [sh test builtins/locale1.0 fails] > >>> I think you have disabled some parts of locale support, since it works > >>> fine here. The test uses nl_NL.ISO8859-1 as its non-English locale. > >> What exactly do I need in order to make this test pass? Itâs the one > >> test thatâs not passing on my CURRENT VM now.. > > You can debug by running the test manually. From bin/sh/tests/, run > > SH=sh sh builtins/locale1.0 > > or > > SH=sh sh -x builtins/locale1.0 > > and look at what it does not like. > Ok, some issues. > 1. I set SH to /usr/local/bin/bash in .shrc-local, so thatâs not going > to work with the tests out of the box. The tests need to unset/use a > different variable name other than ${SH} IMHO as itâs a standard shell > variable. I don't think it is standard. However, ${SH} should be unconditionally overwritten if the testing framework is used. This used to be the case in the prove based framework via an extra level of indirection. On the other hand, passing a value for SH is useful for testing (possibly broken) sh changes without installing them. For example, SH=${.OBJDIR}/sh sh tests/legacy_test.sh This could be useful as a 'regress' target if there is no other way to run tests without installing everything. (Note that I would like this to work on a stable/9 system.) > 2. Checking for /var/empty/foo might not be such a great idea. Why not > create a temporary file, then delete it? Because creating a temporary file makes the test more complicated and slower. I just need a nonexistent file, and I think I can rely on the nonexistence or emptiness of /var/empty. (OpenBSD has a /var/empty/dev, but...) > 3. Other than that, the locale tests donât seem to be working as > expected (itâs acting like LANG=C â outputâs available below). I think you are compiling world WITHOUT_NLS, since there seems to be no way to get a message in Dutch language from your sh. -- Jilles Tjoelker
*** Bug 191712 has been marked as a duplicate of this bug. ***
Here's what I did to get around the issue: https://github.com/yaneurabeya/freebsd/commit/1031aef0ce295255f7c8cb42c0df83af35f77fe8
A commit references this bug: Author: jilles Date: Tue Jul 8 21:50:14 UTC 2014 New revision: 268429 URL: http://svnweb.freebsd.org/changeset/base/268429 Log: Don't install locale1.0 if MK_NLS == no. The test locale1.0 depends on locale support; it is meaningless without a working LC_MESSAGES. I added an OptionalObsoleteFiles.inc entry. PR: 181151 Submitted by: Garrett Cooper (original version) MFC after: 1 week Sponsored by: EMC / Isilon Storage Division Changes: head/bin/sh/tests/builtins/Makefile head/tools/build/mk/OptionalObsoleteFiles.inc
A commit references this bug: Author: jilles Date: Wed Aug 20 19:39:08 UTC 2014 New revision: 270244 URL: http://svnweb.freebsd.org/changeset/base/270244 Log: MFC r268429: Don't install locale1.0 if MK_NLS == no. The test locale1.0 depends on locale support; it is meaningless without a working LC_MESSAGES. I added an OptionalObsoleteFiles.inc entry. PR: 181151 Submitted by: Garrett Cooper (original version) Sponsored by: EMC / Isilon Storage Division Changes: _U stable/10/ stable/10/bin/sh/tests/builtins/Makefile stable/10/tools/build/mk/OptionalObsoleteFiles.inc
Fixed in head and stable/10. Older stable branches do not have kyua/ATF-based tests.