From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Gnome-updates Date: Wed, 27 Apr 2016 21:33:28 +0200 Message-ID: <87y47yyhh3.fsf@gnu.org> References: <20160426173717.GA4754@solar> <87potb19ih.fsf@gnu.org> <87r3dr3yyc.fsf@member.fsf.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1avVDN-0006qe-Ef for guix-devel@gnu.org; Wed, 27 Apr 2016 15:33:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1avVDJ-0001I5-Ap for guix-devel@gnu.org; Wed, 27 Apr 2016 15:33:37 -0400 In-Reply-To: <87r3dr3yyc.fsf@member.fsf.org> (=?utf-8?B?IuWui+aWh+atpiIn?= =?utf-8?B?cw==?= message of "Wed, 27 Apr 2016 22:31:39 +0800") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: =?utf-8?B?5a6L5paH5q2m?= Cc: guix-devel@gnu.org Hello! Regarding the gjs failure worked around by commit 63e7796f626ee40b8259ce56b93f5596e8a1f8c5, I briefly investigated. Upon failure, the =E2=80=98stderr.log=E2=80=99 file reads: --8<---------------cut here---------------start------------->8--- Gjs-Message: JS LOG: Expected nonconst =E2=99=A5 utf8 (string) but was (st= ring) Stack trace follows: JsUnitException@resource:///org/gnome/gjs/modules/jsUnit.js:272 _assert@resource:///org/gnome/gjs/modules/jsUnit.js:110 assertEquals@resource:///org/gnome/gjs/modules/jsUnit.js:147 testUtf8@/tmp/guix-build-gjs-1.44.0.drv-0/gjs-1.44.0/installed-tests/js/tes= tEverythingBasic.js:162 gjstestRun@resource:///org/gnome/gjs/modules/jsUnit.js:438 @/tmp/guix-build-gjs-1.44.0.drv-0/gjs-1.44.0/installed-tests/js/testEveryth= ingBasic.js:699 --8<---------------cut here---------------end--------------->8--- This corresponds to this test in =E2=80=98testEverythingBasic.js=E2=80=99: --8<---------------cut here---------------start------------->8--- function testUtf8() { const CONST_STR =3D "const \u2665 utf8"; const NONCONST_STR =3D "nonconst \u2665 utf8"; JSUnit.assertEquals(CONST_STR, Everything.test_utf8_const_return()); JSUnit.assertEquals(NONCONST_STR, Everything.test_utf8_nonconst_retu= rn()); Everything.test_utf8_const_in(CONST_STR); JSUnit.assertEquals(NONCONST_STR, Everything.test_utf8_out()); * JSUnit.assertEquals(NONCONST_STR, Everything.test_utf8_inout(CONST_S= TR)); JSUnit.assertEquals(NONCONST_STR, Everything.test_utf8_inout(CONST_S= TR)); JSUnit.assertEquals(NONCONST_STR, Everything.test_utf8_inout(CONST_S= TR)); JSUnit.assertEquals(NONCONST_STR, Everything.test_utf8_inout(CONST_S= TR)); } --8<---------------cut here---------------end--------------->8--- The =E2=80=98test_utf8_inout=E2=80=99 function is bound via =E2=80=98Regres= s-1.0.git=E2=80=99, and its definition is in $(guix build gobject-introspection)/share/gobject-introspection-1.0/tests/regress.c: --8<---------------cut here---------------start------------->8--- void regress_test_utf8_inout (char **inout) { /* inout parameter, transfer mode full */ g_assert (strcmp (*inout, utf8_const) =3D=3D 0); g_free (*inout); *inout =3D g_strdup (utf8_nonconst); } --8<---------------cut here---------------end--------------->8--- =E2=80=A6 where: --8<---------------cut here---------------start------------->8--- static const char utf8_nonconst[] =3D "nonconst \xe2\x99\xa5 utf8"; --8<---------------cut here---------------end--------------->8--- So it seems that it=E2=80=99s a failure of =E2=80=98g_strdup=E2=80=99, or in =E2=80=98gjs_string_from_utf8=E2=80=99 in jsapi-util-string.cpp. I=E2=80=99ll pass it on to you or anyone else. :-) Ludo=E2=80=99.