Enum and flags test failing in s390x
Looks like this change (commit 93db285f) causes still another issue in current master with s390x:
not ok 334 Wrong virtual functions marshals an enum return value
# Message: Error: 2572162592 is not a valid value for enumeration Enum in /home/ubuntu/gjs/_build/../installed-tests/js/testGIMarshalling.js (line 1415)
# Stack:
# @/home/ubuntu/gjs/_build/../installed-tests/js/testGIMarshalling.js:1415:23
Although it's weird that this is not happening in the gnome-3-36 branch where the same fix is applied, where the commit 1ba19d63 indeed fixes the issue, but it doesn't in master.
So, in for master branch:
$ git checkout 1ba19d63f2d7c5a26a89326bbd398580b064516d
HEAD is now at 1ba19d63 function: Use GIArgument.v_int for enum and flags types
$ meson test -C _build GIMarshalling -v 2>1 |grep "not ok" -3
ok 331 Wrong virtual functions marshals a return value and one out parameter
ok 332 Wrong virtual functions marshals a return value and multiple out parameters
ok 333 Wrong virtual functions marshals an array out parameter
not ok 334 Wrong virtual functions marshals an enum return value
# Message: Error: 2945455648 is not a valid value for enumeration Enum in /home/ubuntu/gjs/_build/../installed-tests/js/testGIMarshalling.js (line 1415)
# Stack:
# @/home/ubuntu/gjs/_build/../installed-tests/js/testGIMarshalling.js:1415:23
While using the commit in the gnome-3-36 branch:
$ git checkout 247015ad8a47b2e3e5e2853c8d6f19005cf6564d
Previous HEAD position was 1ba19d63 function: Use GIArgument.v_int for enum and flags types
$ meson test -C _build GIMarshalling -v 2>1 |grep "not ok" -3
## Success!
$ git checkout HEAD^
Previous HEAD position was 247015ad function: Use GIArgument.v_int for enum and flags types
HEAD is now at b8b50044 arg: Fix GHashTable key marshalling on 64-bit big-endian
$ meson test -C _build GIMarshalling -v 2>1 |grep "not ok" -3
ok 317 Virtual function marshals an error out parameter when no error
ok 318 Virtual function marshals an error out parameter with a JavaScript exception
ok 319 Virtual function marshals an error out parameter with a GError exception
not ok 320 Virtual function marshals an enum return value
# Message: Error: 4168539160 is not a valid value for enumeration Enum in /home/ubuntu/gjs/_build/../installed-tests/js/testGIMarshalling.js (line 1277)
# Stack:
# @/home/ubuntu/gjs/_build/../installed-tests/js/testGIMarshalling.js:1277:23
So, quite weird... Bisecting doesn't help, as it would per se point to commit 93db285f as the first without this specific error.
@smcv, do you have any clue what in master could not make your fix to work?
Edited by Marco Trevisan