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
next prev parent 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox