After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 778780 - 1.47.90 tests are failing
1.47.90 tests are failing
Status: RESOLVED FIXED
Product: gjs
Classification: Bindings
Component: general
1.47.x
Other Linux
: Normal normal
: ---
Assigned To: Philip Chimento
gjs-maint
Depends on:
Blocks:
 
 
Reported: 2017-02-16 17:28 UTC by Jeremy Bicha
Modified: 2017-02-21 04:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build: Check for Intl API in mozjs (1.94 KB, patch)
2017-02-17 06:07 UTC, Philip Chimento
committed Details | Review
build: Warn about old gobject-introspection (1.19 KB, patch)
2017-02-17 06:07 UTC, Philip Chimento
committed Details | Review

Description Jeremy Bicha 2017-02-16 17:28:13 UTC
gjs 1.47.90-0ubuntu2
Ubuntu 17.04 Alpha "zesty"

Ubuntu runs gjs's test suite using its autopkgtest infrastructure. Although the 1.46 tests passed, the tests are failing now with 1.47.90. This is holding back GNOME Shell 3.23.90 from being promoted out of the zesty-proposed repository to the regular zesty repository.

Logs are at:
http://autopkgtest.ubuntu.com/packages/g/gjs/zesty/amd64
Comment 1 Philip Chimento 2017-02-16 20:09:49 UTC
To fix the testFundamental and testGIMarshalling failures, you need gobject-introspection 1.51.2. If you're not planning to ship that in Ubuntu, you can safely disable those tests with a distro patch, without any loss of functionality other than test coverage.

To fix the testLocale test, you should make sure mozjs38 is configured with --with-intl-api. You could still disable the failing test, but that would mean Ubuntu would ship a GJS without full features.

I should probably encode both of those requirements in the configure script.
Comment 2 Jeremy Bicha 2017-02-16 20:13:06 UTC
Thanks, we are definitely planning to ship gobject-introspection 1.52 (1.51) in Ubuntu 17.04 so we'll give that a try first.

I'll let you know if the tests fail after that. You can close this bug now if you like unless you want to use it for updating configure.ac
Comment 3 Philip Chimento 2017-02-16 20:58:30 UTC
Yes, I'll update configure.ac. Thanks!
Comment 4 Philip Chimento 2017-02-17 06:07:29 UTC
Created attachment 346041 [details] [review]
build: Check for Intl API in mozjs

Make sure that SpiderMonkey was configured with the flag --with-intl-api.
Otherwise, GJS will not be full-featured.
Comment 5 Philip Chimento 2017-02-17 06:07:34 UTC
Created attachment 346042 [details] [review]
build: Warn about old gobject-introspection

We require gobject-introspection 1.41.4 to build. However, with versions
less that 1.51.2, not all the tests will pass due to some functions being
missing from the Regress and GIMarshalling libraries. Don't fail the build
if this is the case, but emit a warning right before the configure
summary, where it is likely to get noticed.
Comment 6 Jeremy Bicha 2017-02-17 10:37:40 UTC
It looks like these tests are still failing

http://autopkgtest.ubuntu.com/packages/gjs/zesty/amd64
http://autopkgtest.ubuntu.com/packages/gjs
Comment 7 Jeremy Bicha 2017-02-17 10:41:18 UTC
Oh, I posted before I saw your comment. Yes, Ubuntu's mozjs38 was compiled --without-intl-api. I apologize; I hadn't yet reviewed the suggested mozjs38 compiler options that you posted to the distributor-list.
Comment 8 Jeremy Bicha 2017-02-17 20:48:13 UTC
I am having trouble using --with-intl-api. I wonder if Mozilla's code is wrong.

configure:15042: checking for icu-i18n >= 50.1
configure:15049: checking MOZ_ICU_CFLAGS
configure:15054: checking MOZ_ICU_LIBS
configure: error: cannot determine icu version number from uvernum.h header file 

That code appears to come from
https://hg.mozilla.org/mozilla-central/file/6cd60e5f3d52/build/autoconf/icu.m4

I am building now (not pushed to Ubuntu zesty yet) using --with-system-icu after adding libicu-dev to Build-Depends.

I note that Fedora is also building --without-intl-api so maybe they had trouble with it too.

http://pkgs.fedoraproject.org/cgit/rpms/mozjs38.git/tree/mozjs38.spec#n77
Comment 9 Philip Chimento 2017-02-17 21:44:48 UTC
Yes, this seems suspect: https://dxr.mozilla.org/mozilla-esr38/source/build/autoconf/icu.m4#76

It looks like they are checking for the version number inside the bundled ICU sources even if you have configured --with-system-icu. However, I don't understand why this check would fail, since the bundled ICU sources are there regardless.

It's built successfully so far in both JHBuild and gnome-continuous using --with-system-icu --with-intl-api, so that is indeed what I'd recommend.
Comment 10 Jeremy Bicha 2017-02-17 23:10:57 UTC
Ok, I bypassed the broken version check and it builds. I'll let you know if the tests pass.
Comment 11 Philip Chimento 2017-02-18 01:02:16 UTC
Strange that you needed an extra patch, though. Maybe try printing out the full path of the uvernum.h file that it's trying to check, and compare that to what's on your disk?
Comment 12 Jeremy Bicha 2017-02-18 01:52:11 UTC
I rebuilt gjs 1.47.90 against the mozjs38 that was built --with-intl-api and the autopkgtest tests pass now, except on s390x. (We had some trouble last August too so the s390x failures are currently ignored for gjs.) 

http://autopkgtest.ubuntu.com/packages/g/gjs
http://autopkgtest.ubuntu.com/packages/g/gjs/zesty/amd64
http://autopkgtest.ubuntu.com/packages/g/gjs/zesty/s390x


Here's another line from my earlier failed build log.

sed: character class syntax is [[:space:]], not [:space:]
configure: error: cannot determine icu version number from uvernum.h header file
Comment 13 Philip Chimento 2017-02-18 04:03:08 UTC
Ah, I saw some people complaining about having a too-recent version of sed when we were debugging the mozjs38 build on gnome-continuous. This must have been what they were running into. Perhaps that character class stuff was changed in a recent version?

It will be hard for me to debug the s390x failure but would you mind opening a bug for it?
Comment 14 Cosimo Cecchi 2017-02-20 18:11:48 UTC
Review of attachment 346041 [details] [review]:

Looks good.
Comment 15 Cosimo Cecchi 2017-02-20 18:12:13 UTC
Review of attachment 346042 [details] [review]:

OK
Comment 16 Philip Chimento 2017-02-21 04:44:38 UTC
Attachment 346041 [details] pushed as 04e9f3c - build: Check for Intl API in mozjs
Attachment 346042 [details] pushed as 1b4b80e - build: Warn about old gobject-introspection