This patch solved the problem, thanks! On Apr 9, 2010, at 11:48 AM, ext Jim Meyering wrote:
> Jarno Rajahalme wrote: >> Thanks for the instructions.. >> >> OS: Darwin 10.3.0 >> tr: /usr/bin/tr >> locale: >> LANG= >> LC_COLLATE="C" >> LC_CTYPE="UTF-8" >> LC_MESSAGES="C" >> LC_MONETARY="C" >> LC_NUMERIC="C" >> LC_TIME="C" >> LC_ALL= >> >> I get this kind of behavior both before and after the proposed patch: >> >> tests$ ./test-xalloc-die.sh >> tr: Illegal byte sequence > ... >> I.e., most of the time tr complains, but not always. >> >> With set -x: >> >> tests$ ./test-xalloc-die.sh > ... >> ++ exec /bin/sh ./test-xalloc-die.sh --no-reexec >> + . ./init.sh > ... >> ++++ rand_bytes_ 4 >> ++++ n_=4 >> ++++ chars_=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 >> ++++ dev_rand_=/dev/urandom >> ++++ test -r /dev/urandom >> ++++ dd ibs=4 count=1 if=/dev/urandom >> ++++ tr -c abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 >> 01234567abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 >> tr: Illegal byte sequence > > Thanks for the details. > I suspect that this patch will solve it for you: > > diff --git a/tests/init.sh b/tests/init.sh > index abfa3b3..64eb6f3 100644 > --- a/tests/init.sh > +++ b/tests/init.sh > @@ -259,7 +259,7 @@ rand_bytes_() > if test -r "$dev_rand_"; then > # Note: 256-length($chars_) == 194; 3 copies of $chars_ is 186 + 8 = 194. > dd ibs=$n_ count=1 if=$dev_rand_ 2>/dev/null \ > - | tr -c $chars_ 01234567$chars_$chars_$chars_ > + | LC_ALL=C tr -c $chars_ 01234567$chars_$chars_$chars_ > return > fi