All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: Yan Vugenfirer <yan@daynix.com>,
	Yuri Benditovich <yuri.benditovich@daynix.com>,
	ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v3] tst_test.sh: Normalize the locale
Date: Fri, 21 Oct 2022 15:11:59 +0200	[thread overview]
Message-ID: <Y1KanyaTySzBG7xN@pevik> (raw)
In-Reply-To: <Y1KTyn/9pv5lvbhj@yuki>

> Hi!
> > > > > diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> > > > > index 28b7d12ba..5ebbe1d25 100644
> > > > > --- a/testcases/lib/tst_test.sh
> > > > > +++ b/testcases/lib/tst_test.sh
> > > > > @@ -831,3 +831,5 @@ if [ -z "$TST_NO_DEFAULT_RUN" ]; then
> > > > >  		fi
> > > > >  	fi
> > > > >  fi
> > > > > +
> > > > > +export LC_ALL=C

> > > > Thinking about it twice this might have impact on other tests.
> > > > Li, Cyril, any idea about it?

> > > Actually I think that we should have put this into the tst_test.sh from
> > > the start. We do have this as a workaround in du01.sh and telnet01.sh
> > > already.

> > > The plus side is that all possible bugreports from users will have all
> > > messages in english which would make debugging easier.

> > Thanks for acking this.

> > I suppose Akihiko is correct that we don't have to put it via setlocale()
> > in C API, right?

> I do not think so. It's not entirely clear from documentation how this
> is supposed to work. However it seems that in bash the effect is
> immediate, if you export new locale and then type nonexisting command
> name to bash prompt to get a message from bash it's in the new locale.
> So either setlocale() is not needed or bash calls it if it detects that
> one of the LC_ variables has been changed and calls it.

> For dash it does not seem that it has been translated at all, it
> produces messages in english either way, so we do not have to care.

> And all localized programs that we start from the shell after the export
> do call setlocale() at the start of the main(). That is actually
> required to enable locale support to begin with.

Yep. I thought more about pure C API programs. Mostly they don't have any locale
related code, but sometimes they call other programs via shell (e.g.
tst_system(), but there are more).

I also aimed for consistency between C and shell API.
That's why I thought we should consider setlocale() on LC_ALL and LANG in
lib/tst_test.c. But maybe I'm wrong.

> > Also I guess you prefer this version (LC_ALL=C). I suggested unset LC_ALL;
> > export LC_COLLATE=C; export LC_NUMERIC=C as it's used in kernel's Makefile (they
> > have more there, but IMHO only this is relevant for us).

> I do not think that LC_COLLATE and LC_NUMERIC is enough, we want actuall
> messages in english. If we do not want to use LC_ALL, which is probably
> the easiest we should use at least LC_MESSAGES and LC_NUMERIC but
> possibly LC_TIME too since date and time can be part of the messages we
> do parse as well.
After some searching and thinking I guess LC_ALL=C and LANG=C should be enough.

Kind regards,
Petr

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2022-10-21 13:12 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-20 13:37 [LTP] [PATCH v3] tst_test.sh: Normalize the locale Akihiko Odaki
2022-10-20 17:30 ` Petr Vorel
2022-10-20 19:09   ` Akihiko Odaki
2022-10-21  9:11   ` Cyril Hrubis
2022-10-21 11:26     ` Petr Vorel
2022-10-21 12:42       ` Cyril Hrubis
2022-10-21 13:11         ` Petr Vorel [this message]
2022-10-21 13:24           ` Cyril Hrubis
2022-11-07 10:27             ` Richard Palethorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y1KanyaTySzBG7xN@pevik \
    --to=pvorel@suse.cz \
    --cc=chrubis@suse.cz \
    --cc=ltp@lists.linux.it \
    --cc=yan@daynix.com \
    --cc=yuri.benditovich@daynix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.