Patchwork Build errors on xenial launchpad buildbots

login
register
mail settings
Submitter Anton Shestakov
Date May 19, 2016, 7:09 a.m.
Message ID <3100071463641784@web2h.yandex.ru>
Download mbox | patch
Permalink /patch/15175/
State Not Applicable
Headers show

Comments

Anton Shestakov - May 19, 2016, 7:09 a.m.
19.05.2016, 14:35, "FUJIWARA Katsunori" <foozy@lares.dti.ne.jp>:
> At Wed, 18 May 2016 12:46:42 -0700,
> Sean Farley wrote:
>>  It seems after 9d38a2061fd8 (patch: show lower-ed translated message
>>  correctly) I'm getting the following error below. I don't know the
>>  launchpad builders so any help here is appreciated!
>>
>>  cd tests && python run-tests.py -j4
>>  sss...s.....ss..ss.s..sss.s..s...s........s.ss
>>  --- /«BUILDDIR»/mercurial-3.8.2+121-xenial/tests/test-commit-interactive.t
>>  +++ /«BUILDDIR»/mercurial-3.8.2+121-xenial/tests/test-commit-interactive.t.err
>>  @@ -899,7 +899,7 @@
>>     > ?
>>     > q
>>     > EOF
>>  - y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc)
>>  + Binary file (standard input) matches
>>
>>     $ LANGUAGE=
>>   #endif
>>
>>  ERROR: test-commit-interactive.t output changed
>
> It seems a message of "grep" command, which is used to pick up help
> line for "yes" command. It might be locale sensitive (run-tests.py
> explicitly sets LC_ALL and LANG to C).
>
> Could you confirm the patch below on launchpad buildbot environment ?
>
> ========================================
> diff --git a/tests/test-commit-interactive.t b/tests/test-commit-interactive.t
> --- a/tests/test-commit-interactive.t
> +++ b/tests/test-commit-interactive.t
> @@ -894,6 +894,8 @@ This tests that translated help message
>
>    $ LANGUAGE=ja
>    $ export LANGUAGE
> + $ LC_ALL=ja_JP.cp932

This wouldn't work correctly on machines without that locale. Here's what this produces on a Xenial box in Vagrant:

$ LC_ALL=ja_JP.cp932 ./hg version
Mercurial - ?????????(????? 3.8.1+13-9d38a2061fd8+20160519)
(??? https://mercurial-scm.org ???)

Copyright (C) 2005-2016 Matt Mackall ?
????????????????
??????????????????????????????
?????????????????? ??????????

The box has these locales: C C.UTF-8 en_US.utf8 POSIX

> + $ export LC_ALL
>
>    $ hg commit -i --encoding cp932 2>&1 <<EOF | grep '^y - '
>    > ?
> @@ -901,7 +903,8 @@ This tests that translated help message
>    > EOF
>    y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc)
>
> - $ LANGUAGE=
> + $ LANGUAGE=C
> + $ LC_ALL=C
>  #endif
>
>  Skip
> ========================================

FWIW, I've tried it on the Xenial box, but unfortunately:


ERROR: test-commit-interactive.t output changed
!
Failed test-commit-interactive.t: output changed


> BTW, what OS/distribution/version is used on launchpad buildbot
> environment ?

Looks like some container system: https://help.launchpad.net/Packaging/PPA

So I suspect that Xenial builder is probably just a regular Ubuntu Xenial image with extra packages installed, running in OpenStack.
Katsunori FUJIWARA - May 19, 2016, 8:29 a.m.
At Thu, 19 May 2016 15:09:44 +0800,
Anton Shestakov wrote:
> 
> 19.05.2016, 14:35, "FUJIWARA Katsunori" <foozy@lares.dti.ne.jp>:
> > At Wed, 18 May 2016 12:46:42 -0700,
> > Sean Farley wrote:
> >>  It seems after 9d38a2061fd8 (patch: show lower-ed translated message
> >>  correctly) I'm getting the following error below. I don't know the
> >>  launchpad builders so any help here is appreciated!
> >>
> >>  cd tests && python run-tests.py -j4
> >>  sss...s.....ss..ss.s..sss.s..s...s........s.ss
> >>  --- /«BUILDDIR»/mercurial-3.8.2+121-xenial/tests/test-commit-interactive.t
> >>  +++ /«BUILDDIR»/mercurial-3.8.2+121-xenial/tests/test-commit-interactive.t.err
> >>  @@ -899,7 +899,7 @@
> >>     > ?
> >>     > q
> >>     > EOF
> >>  - y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc)
> >>  + Binary file (standard input) matches
> >>
> >>     $ LANGUAGE=
> >>   #endif
> >>
> >>  ERROR: test-commit-interactive.t output changed
> >
> > It seems a message of "grep" command, which is used to pick up help
> > line for "yes" command. It might be locale sensitive (run-tests.py
> > explicitly sets LC_ALL and LANG to C).
> >
> > Could you confirm the patch below on launchpad buildbot environment ?
> >
> > ========================================
> > diff --git a/tests/test-commit-interactive.t b/tests/test-commit-interactive.t
> > --- a/tests/test-commit-interactive.t
> > +++ b/tests/test-commit-interactive.t
> > @@ -894,6 +894,8 @@ This tests that translated help message
> >
> >    $ LANGUAGE=ja
> >    $ export LANGUAGE
> > + $ LC_ALL=ja_JP.cp932
> 
> This wouldn't work correctly on machines without that locale. Here's what this produces on a Xenial box in Vagrant:
> 
> $ LC_ALL=ja_JP.cp932 ./hg version
> Mercurial - ?????????(????? 3.8.1+13-9d38a2061fd8+20160519)
> (??? https://mercurial-scm.org ???)
> 
> Copyright (C) 2005-2016 Matt Mackall ?
> ????????????????
> ??????????????????????????????
> ?????????????????? ??????????
> 
> The box has these locales: C C.UTF-8 en_US.utf8 POSIX

Oops, I forgot about extra installation for non-default locales, sorry.

> > + $ export LC_ALL
> >
> >    $ hg commit -i --encoding cp932 2>&1 <<EOF | grep '^y - '
> >    > ?
> > @@ -901,7 +903,8 @@ This tests that translated help message
> >    > EOF
> >    y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc)
> >
> > - $ LANGUAGE=
> > + $ LANGUAGE=C
> > + $ LC_ALL=C
> >  #endif
> >
> >  Skip
> > ========================================
> 
> FWIW, I've tried it on the Xenial box, but unfortunately:
> 
> --- /tmp/hg/tests/test-commit-interactive.t
> +++ /tmp/hg/tests/test-commit-interactive.t.err
> @@ -901,7 +901,7 @@
>    > ?
>    > q
>    > EOF
> -  y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc)
> +  [1]
>  
>    $ LANGUAGE=C
>    $ LC_ALL=C
> 
> ERROR: test-commit-interactive.t output changed
> !
> Failed test-commit-interactive.t: output changed

Thank you for your confirming.

For portability of tests, any specific tool to escape i10n-ed string
as a pre-filter for system commands might be needed.

I'll post a such patch within a day or so.

> 
> > BTW, what OS/distribution/version is used on launchpad buildbot
> > environment ?
> 
> Looks like some container system: https://help.launchpad.net/Packaging/PPA
> 
> So I suspect that Xenial builder is probably just a regular Ubuntu
> Xenial image with extra packages installed, running in OpenStack.
> 

----------------------------------------------------------------------
[FUJIWARA Katsunori]                             foozy@lares.dti.ne.jp

Patch

--- /tmp/hg/tests/test-commit-interactive.t
+++ /tmp/hg/tests/test-commit-interactive.t.err
@@ -901,7 +901,7 @@ 
   > ?
   > q
   > EOF
-  y - \x82\xb1\x82\xcc\x95\xcf\x8dX\x82\xf0\x8bL\x98^(yes) (esc)
+  [1]
 
   $ LANGUAGE=C
   $ LC_ALL=C