-
Notifications
You must be signed in to change notification settings - Fork 3
Closed
Description
I have packaged the mapcode utility for Debian linux and there are unit test failures on architectures where char is unsigned (like arm and powerpc):
Mapcode format tests
*** ERROR *** compareWithMapcodeFormatUtf8("###################") returns -298 (-297 expected)
*** ERROR *** "ttat.tt " : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("ttat-tt tt.tt") returns -288 (-289 expected)
*** ERROR *** compareWithMapcodeFormatUtf8("ttat tt.tt") returns -288 (-289 expected)
*** ERROR *** "XXAX.XXXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "2A22.2222" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "22A2.2222" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "MAP.CODE" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "XAXX.XXXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "XXXA.XXXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "XXXAX.XXXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "XXXXA.XXXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.XXXXA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.ALA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.LAXA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.LLLLA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.A2e" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.2e2e" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.2222u" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "222A.2222" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "222A2.2222" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "ttt 2222A.2222" : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("ttt 2222A.2222") returns -199 (-289 expected)
*** ERROR *** "2222.2AAA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "A222.2AAA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "xx-xx xx.x#x" : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("xx-xx xx.x#x") returns -199 (-297 expected)
*** ERROR *** "xx# xx.xx" : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("xx# xx.xx") returns -199 (-297 expected)
*** ERROR *** "xx-xx #xx.xx" : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("xx-xx #xx.xx") returns -199 (-297 expected)
*** ERROR *** "xx-xx xx.xx-xx#xx" : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("xx-xx xx.xx-xx#xx") returns -199 (-297 expected)
*** ERROR *** "DDDa.DDD" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "DDDDE.xxxx" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("DDDDDA xx.xx") returns -298 (-289 expected)
*** ERROR *** "DD.DDDDA " : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("DD.DD-A") returns 0 (-293 expected)
*** ERROR *** myParseMapcodeString("DD.DD-A")=-98, expected 0
*** ERROR *** compareWithMapcodeFormatUtf8("DD.DD-xA") returns 0 (-293 expected)
*** ERROR *** myParseMapcodeString("DD.DD-xA")=-98, expected 0
*** ERROR *** compareWithMapcodeFormatUtf8("DD.DD-xxxE") returns 0 (-293 expected)
*** ERROR *** myParseMapcodeString("DD.DD-xxxE")=-98, expected 0
*** ERROR *** compareWithMapcodeFormatUtf8("DD.DD-xxxxxu") returns 0 (-293 expected)
*** ERROR *** myParseMapcodeString("DD.DD-xxxxxu")=-98, expected 0
*** ERROR *** "ta.xx " : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "DD-DD AA.33 " : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("DD-DD AA.33 ") returns -199 (-289 expected)
*** ERROR *** "DD-DD A3A.XX " : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("DD-DD A3A.XX ") returns -199 (-289 expected)
*** ERROR *** "DD-DD A33A.XX" : myParseMapcodeString=-199, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("DD-DD A33A.XX") returns -199 (-289 expected)
*** ERROR *** "tta.ttt " : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "ttaa.ttt " : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "XXXX.AXXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.AXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.XAXX" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "nld XXXX.AXXA" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "2222.A22" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "2222.A222" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** "2222.2A22" : myParseMapcodeString=-289, compareWithMapcodeFormatUtf8=0
*** ERROR *** compareWithMapcodeFormatUtf8("NLD
49.YV") returns -298 (-297 expected)
49.YV") returns -298 (-297 expected)atUtf8("NLD
*** ERROR *** compareWithMapcodeFormatUtf8("NLD
49.YV") returns -298 (-297 expected)
*** ERROR *** compareWithMapcodeFormatUtf8("NL49.YV") returns -298 (-297 expected)
*** ERROR *** compareWithMapcodeFormatUtf8("NLD49.YV") returns -298 (-297 expected)
*** ERROR *** 93 of 288 myParseMapcodeString() calls succeeded (expected 89)
*** ERROR *** invalid mapcode "NLD XXX.#XX" decodes without error
You can use -funsigned-char with gcc to simulate the effect on x86.
You probably should add something like this in testEnvironment() in the unit test, to get this information in the test output:
char t = (char)(-1);
if ((int)t == -1)
printf("char is signed\n");
else
printf("char is unsigned\n");
Metadata
Metadata
Assignees
Labels
No labels