Unit test failures for i386 systems
Here is the summary of the unit test failure(s) for 32-bit systems:
==================================== 3/8 =====================================
test: libei / unit-tests-ei
start time: 20:45:57
duration: 0.04s
result: exit status 1
command: LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/obj-i686-linux-gnu/subprojects/munit MALLOC_PERTURB_=177 /<<PKGBUILDDIR>>/obj-i686-linux-gnu/test/unit-tests-ei
----------------------------------- stdout -----------------------------------
Running test suite with seed 0x7088dd74...
test_brei_send_message [ ERROR ]
test_brei_marshal_bad_sig [ ERROR ]
test_brei_marshal [ ERROR ]
test_brei_string_proto_length [ OK ] [ 0.00000452 / 0.00000396 CPU ]
test_configure_name [ OK ] [ 0.00016605 / 0.00016596 CPU ]
test_init_unref [ OK ] [ 0.00007171 / 0.00007164 CPU ]
test_log_handler [ OK ] [ 0.00013127 / 0.00013126 CPU ]
4 of 7 (57%) tests successful, 0 (0%) test skipped.
----------------------------------- stderr -----------------------------------
Error: ../src/brei-shared.c:653: assertion failed: buf[8 + slen/4] == 0xcdef (256 == 52719)
Error: child killed by signal 6 (Aborted)
Error: child killed by signal 11 (Segmentation fault)
Error: child killed by signal 11 (Segmentation fault)
==============================================================================
==================================== 4/8 =====================================
test: libei / unit-tests-eis
start time: 20:45:57
duration: 0.04s
result: exit status 1
command: MALLOC_PERTURB_=222 LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/obj-i686-linux-gnu/subprojects/munit /<<PKGBUILDDIR>>/obj-i686-linux-gnu/test/unit-tests-eis
----------------------------------- stdout -----------------------------------
Running test suite with seed 0xaabadab2...
test_brei_send_message [ ERROR ]
test_brei_marshal_bad_sig [ ERROR ]
test_brei_marshal [ ERROR ]
test_brei_string_proto_length [ OK ] [ 0.00000429 / 0.00000361 CPU ]
test_log_handler [ OK ] [ 0.00021590 / 0.00021595 CPU ]
2 of 5 (40%) tests successful, 0 (0%) test skipped.
----------------------------------- stderr -----------------------------------
Error: ../src/brei-shared.c:653: assertion failed: buf[8 + slen/4] == 0xcdef (256 == 52719)
Error: child killed by signal 6 (Aborted)
Error: child killed by signal 11 (Segmentation fault)
Error: child killed by signal 11 (Segmentation fault)
==============================================================================
I think the offsets are getting messed up because unlike on amd64, padding is not getting added automatically for few numbers that are being sent through the socket here (src/brei-shared.c:632):
int rc = brei_send_message_va(sock_write, id, opcode, signature, 4,
-42, string, 0xab, 0xcdef);
e.g. 0xab doesn't get padded on 32-bit while it may get padded on 64-bit.
(Let me know if I am completely off base here.)