threads / patch / 15710

patchexplicitly set LANG to 'C' in for guilt run-tests

Subject: [PATCH] explicitly set LANG to 'C' in for guilt run-tests

## tl;dr

5 messages between Sep 29, 2008 and Sep 30, 2008. Diffs are folded; open one to read it.

replies: 4people: 4as markdown or json

Scott Moser· Sep 29, 2008, 18:51 UTC · lore

The output of guilt's run-tests is dependent on LANG due to reliance on a given sorting algorithm. Currently, the test '052' will fail if LANG is set to 'en_US.UTF-8' (and likely others values).

Remove the assumption by explicitly setting this in run-tests.
Signed-off-by: Scott Moser <smoser@brickies.net>
---
 regression/run-tests |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Show changes to regression/run-tests +1 −0
diff --git a/regression/run-tests b/regression/run-tests
index 8f572eb..945150b 100755
--- a/regression/run-tests
+++ b/regression/run-tests
@@ -2,6 +2,7 @@
 
 export REG_DIR="$PWD"
 export PATH="$PWD/bin:$PATH"
+export LANG=C
 
 source scaffold
 
-- 
1.5.6.3
Mikael Magnusson· Sep 29, 2008, 20:25 UTC · re: Scott Moser · lore

Re: [PATCH] explicitly set LANG to 'C' in for guilt run-tests

2008/9/29 Scott Moser <smoser@brickies.net>:
Show 25 quoted lines
> The output of guilt's run-tests is dependent on LANG due to reliance on a
> given sorting algorithm. Currently, the test '052' will fail if LANG is
> set to 'en_US.UTF-8' (and likely others values).
>
> Remove the assumption by explicitly setting this in run-tests.
>
> Signed-off-by: Scott Moser <smoser@brickies.net>
> ---
>  regression/run-tests |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/regression/run-tests b/regression/run-tests
> index 8f572eb..945150b 100755
> --- a/regression/run-tests
> +++ b/regression/run-tests
> @@ -2,6 +2,7 @@
>
>  export REG_DIR="$PWD"
>  export PATH="$PWD/bin:$PATH"
> +export LANG=C
>
>  source scaffold
>
> --
> 1.5.6.3

If I'm not mistaken, $LANG is used as the ultimate fallback, while LC_ALL is the one that overrides all others, so you probably want to set LC_ALL. I'm unsure which off the specific ones would apply here, but very likely it's LC_COLLATE. In other words, if LC_ALL is set, it is used, otherwise if LC_COLLATE is set it is used, otherwise if LANG is set, it is used, otherwise, "POSIX" is used.

-- 
Mikael Magnusson
Josef Jeff Sipek· Sep 29, 2008, 20:49 UTC · re: Mikael Magnusson · lore

Re: [PATCH] explicitly set LANG to 'C' in for guilt run-tests

On Mon, Sep 29, 2008 at 10:25:48PM +0200, Mikael Magnusson wrote:
Show 33 quoted lines
> 2008/9/29 Scott Moser <smoser@brickies.net>:
> > The output of guilt's run-tests is dependent on LANG due to reliance on a
> > given sorting algorithm. Currently, the test '052' will fail if LANG is
> > set to 'en_US.UTF-8' (and likely others values).
> >
> > Remove the assumption by explicitly setting this in run-tests.
> >
> > Signed-off-by: Scott Moser <smoser@brickies.net>
> > ---
> >  regression/run-tests |    1 +
> >  1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/regression/run-tests b/regression/run-tests
> > index 8f572eb..945150b 100755
> > --- a/regression/run-tests
> > +++ b/regression/run-tests
> > @@ -2,6 +2,7 @@
> >
> >  export REG_DIR="$PWD"
> >  export PATH="$PWD/bin:$PATH"
> > +export LANG=C
> >
> >  source scaffold
> >
> > --
> > 1.5.6.3
> 
> If I'm not mistaken, $LANG is used as the ultimate fallback, while LC_ALL is
> the one that overrides all others, so you probably want to set LC_ALL. I'm
> unsure which off the specific ones would apply here, but very likely it's
> LC_COLLATE. In other words, if LC_ALL is set, it is used, otherwise if
> LC_COLLATE is set it is used, otherwise if LANG is set, it is used,
> otherwise, "POSIX" is used.

IIRC, my devel system has all of them set to UTF8, _except_ LC_COLLATE (I like the case sensitive sort of filenames in ls(1)) which I have set to "C". So chances are that the minimum required is LC_COLLATE=C, but overriding everything might be safer overall.

Josef 'Jeff' Sipek.
-- 
Penguin : Linux version 2.6.25.4 on an i386 machine (6135.73 BogoMips).
Scott Moser· Sep 29, 2008, 21:01 UTC · re: Josef Jeff Sipek · lore

Re: [PATCH] explicitly set LANG to 'C' in for guilt run-tests

On Mon, 29 Sep 2008, Josef Jeff Sipek wrote:
Show 12 quoted lines
> > If I'm not mistaken, $LANG is used as the ultimate fallback, while LC_ALL is
> > the one that overrides all others, so you probably want to set LC_ALL. I'm
> > unsure which off the specific ones would apply here, but very likely it's
> > LC_COLLATE. In other words, if LC_ALL is set, it is used, otherwise if
> > LC_COLLATE is set it is used, otherwise if LANG is set, it is used,
> > otherwise, "POSIX" is used.
>
> IIRC, my devel system has all of them set to UTF8, _except_ LC_COLLATE (I
> like the case sensitive sort of filenames in ls(1)) which I have set to "C".
> So chances are that the minimum required is LC_COLLATE=C, but overriding
> everything might be safer overall.
>

Yeah, LC_ALL I sprobably correct. I'm not very "LANG" aware at all. I just noticed that test 052 didn't run on my system, and figured out that was why.

You want a re-send of this patch with LC_ALL ? Or do you want to make the modification yourself and apply?

Scott
Josef 'Jeff' Sipek· Sep 30, 2008, 04:42 UTC · re: Mikael Magnusson · lore

Re: [PATCH] explicitly set LANG to 'C' in for guilt run-tests

On Mon, Sep 29, 2008 at 10:25:48PM +0200, Mikael Magnusson wrote: ...

Show 6 quoted lines
> If I'm not mistaken, $LANG is used as the ultimate fallback, while LC_ALL is
> the one that overrides all others, so you probably want to set LC_ALL. I'm
> unsure which off the specific ones would apply here, but very likely it's
> LC_COLLATE. In other words, if LC_ALL is set, it is used, otherwise if
> LC_COLLATE is set it is used, otherwise if LANG is set, it is used,
> otherwise, "POSIX" is used.
I fixed up the patch to set LC_ALL instead, and committed it.
Thanks,
Josef 'Jeff' Sipek.
-- 
Humans were created by water to transport it upward.

← back to recent threads