diff options
Diffstat (limited to 'tinySIGCOMP/test/test_tortures.h')
-rwxr-xr-x | tinySIGCOMP/test/test_tortures.h | 2125 |
1 files changed, 1070 insertions, 1055 deletions
diff --git a/tinySIGCOMP/test/test_tortures.h b/tinySIGCOMP/test/test_tortures.h index c1222b6..3e04bbe 100755 --- a/tinySIGCOMP/test/test_tortures.h +++ b/tinySIGCOMP/test/test_tortures.h @@ -1,19 +1,19 @@ /* * Copyright (C) 2009 Mamadou Diop. * Copyright (C) 2012 Doubango Telecom <http://doubango.org>. -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -47,983 +47,998 @@ #include <assert.h> -struct_torture_test tests[] = -{ - { //*** 0*** - "A.1.1. Bit Manipulation", - RFC4465_A_1_1__Bit_Manipulation, - 170, - {8, "\x01\x50\x00\x00\xfe\xbf\x00\x00"}, - 22, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { //*** 1*** - "A.1.2(.1) Arithmetic", - RFC4465_A_1_2__Arithmetic_1, - 174, - {8, "\x00\x00\x00\x00\x00\x00\x00\x04"}, - 25, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { //*** 2*** - "A.1.2(.2) Arithmetic", - RFC4465_A_1_2__Arithmetic_2, - 174, - {11, "DIV_BY_ZERO"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { //*** 3*** - "A.1.2(.3) Arithmetic", - RFC4465_A_1_2__Arithmetic_3, - 174, - {11, "DIV_BY_ZERO"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //*** 4*** - "A.1.3. Sorting", - RFC4465_A_1_3__Sorting, - 223, - {45, "\x46\x6f\x72\x64\x2c\x20\x79\x6f\x75\x27\x72\x65\x20\x74\x75\x72\x6e\x69\x6e\x67" - "\x20\x69\x6e\x74\x6f\x20\x61\x20\x70\x65\x6e\x67\x75\x69\x6e\x2e\x20\x53\x74\x6f" - "\x70\x20\x69\x74\x2e"}, - 371, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //*** 5** - "A.1.4. SHA-1", - RFC4465_A_1_4__SHA1, - 138, - {40, "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d" - "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1" - "\x12\xff\x34\x7b\x4f\x27\xd6\x9e\x1f\x32\x8e\x6f\x4b\x55\x73\xe3\x66\x6e\x12\x2f" - "\x4f\x46\x04\x52\xeb\xb5\x63\x93\x4f\x46\x04\x52\xeb\xb5\x63\x93\x4f\x46\x04\x52"}, - 17176, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //*** 6** - "A.1.5.(1) LOAD and MULTILOAD", - RFC4465_A_1_5__LOAD_and_MULTILOAD_1, - 58, - {16, "\x00\x84\x00\x84\x00\x86\x00\x86\x00\x2a\x00\x80\x00\x2a\x00\x2a"}, - 36, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //*** 7** - "A.1.5.(2) LOAD and MULTILOAD", - RFC4465_A_1_5__LOAD_and_MULTILOAD_2, - 58, - {21, "MULTILOAD_OVERWRITTEN"}, - 36, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //*** 8** - "A.1.5.(3) LOAD and MULTILOAD", - RFC4465_A_1_5__LOAD_and_MULTILOAD_3, - 58, - {21, "MULTILOAD_OVERWRITTEN"}, - 36, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 9** - "A.1.6. COPY", - RFC4465_A_1_6__COPY, - 60, - {125, "\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40" - "\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x41\x41\x41\x41\x41\x41\x41\x41" - "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" - "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" - "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" - "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x55\x41" - "\x42\x43\x44\x43\x44"}, - 365, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 10** - "A.1.7. COPY-LITERAL and COPY-OFFSET", - RFC4465_A_1_7__COPY_LITERAL_and_COPY_OFFSET, - 100, - {34, "\x41\x41\x41\x41\x00\x61\x41\x41\x41\x41\x49\x4a\x41\x42\x43\x44\x49\x4a\x41\x42" - "\x00\x4a\x00\x4e\x47\x48\x48\x45\x46\x47\x47\x48\x45\x46"}, - 216, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 11** - "A.1.8. MEMSET", - RFC4465_A_1_8__MEMSET, - 27, - {16, "\x80\x40\x4f\x5e\x6d\x7c\x8b\x9a\xa9\xb8\xc7\xd6\xe5\xf4\x03\x12"}, - 166, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 12** - "A.1.9.(1) CRC", - RFC4465_A_1_9__CRC_1, - 29, - {0, ""}, - 95, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 13** - "A.1.9.(2) CRC", - RFC4465_A_1_9__CRC_2, - 29, - {14, "USER_REQUESTED"}, - 95, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 14** - "A.1.10. INPUT-BITS", - RFC4465_A_1_10__INPUT_BITS, - 28, - {16, "\x00\x00\x00\x02\x00\x02\x00\x13\x00\x00\x00\x03\x00\x1a\x00\x38"}, - 66, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 15** - "A.1.11. INPUT-HUFFMAN", - RFC4465_A_1_11__INPUT_HUFFMAN, - 39, - {16, "\x00\x00\x00\x03\x00\x08\x04\xd7\x00\x02\x00\x03\x03\x99\x30\xfe"}, - 84, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 16** - "A.1.12. INPUT-BYTES", - RFC4465_A_1_12__INPUT_BYTES, - 72, - {39, "\x00\x00\x93\x2e\x00\x01\xb1\x66\xd8\x6f\xb1\x00\x1a\x2b\x00\x03\x9a\x97\x34\xd8" - "\x00\x07\x00\x01\x33\x87\x4e\x00\x08\xdc\x96\x51\xb5\xdc\x96\x00\x59\x9d\x6a"}, - 130, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 17** - "A.1.13. Stack Manipulation", - RFC4465_A_1_13__Stack_Manipulation, - 324, - {16, "\x00\x03\x00\x02\x00\x01\x00\x42\x00\x42\x00\x00\x00\x01\x00\x01"}, - 40, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 18** - "A.1.14. Program Flow", - RFC4465_A_1_14__Program_Flow, - 66, - {20, "\x00\x01\x01\x02\x02\x03\x03\x04\x04\x05\x05\x06\x07\x07\x07\x08\x08\x08\x09\x09"}, - 131, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 19** - "A.1.15.(1) State Creation", - RFC4465_A_1_15__State_Creation_1, - 152, - {0, ""}, - 23, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 20 (requires previsous test)** - "A.1.15.(2) State Creation", - RFC4465_A_1_15__State_Creation_2, - 152, - {0, ""}, - 14, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 21 (requires previsous test)** - "A.1.15.(3) State Creation", - RFC4465_A_1_15__State_Creation_3, - 152, - {0, ""}, - 24, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 22 (requires previsous test)** - "A.1.15.(4) State Creation", // FAIL - RFC4465_A_1_15__State_Creation_4, - 153, - {23, "INVALID_STATE_ID_LENGTH"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 23 (requires previsous test)** - "A.1.15.(5) State Creation", // FAIL - RFC4465_A_1_15__State_Creation_5, - 153, - {23, "INVALID_STATE_ID_LENGTH"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 24 (requires previsous test)** - "A.1.15.(6) State Creation", - RFC4465_A_1_15__State_Creation_6, - 153, - {0, ""}, - 23, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 25 (requires previsous test)** - "A.1.15.(7) State Creation", - RFC4465_A_1_15__State_Creation_7, - 152, - {0, ""}, - 34, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 26 (requires previsous test)** - "A.1.15.(8) State Creation", - RFC4465_A_1_15__State_Creation_8, - 153, - {0, ""}, - 46, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 27 (requires previsous test)** - "A.1.15.(9) State Creation", - RFC4465_A_1_15__State_Creation_9, - 153, - {0, ""}, - 47, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } +struct_torture_test tests[] = { + { + //*** 0*** + "A.1.1. Bit Manipulation", + RFC4465_A_1_1__Bit_Manipulation, + 170, + {8, "\x01\x50\x00\x00\xfe\xbf\x00\x00"}, + 22, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //*** 1*** + "A.1.2(.1) Arithmetic", + RFC4465_A_1_2__Arithmetic_1, + 174, + {8, "\x00\x00\x00\x00\x00\x00\x00\x04"}, + 25, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //*** 2*** + "A.1.2(.2) Arithmetic", + RFC4465_A_1_2__Arithmetic_2, + 174, + {11, "DIV_BY_ZERO"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //*** 3*** + "A.1.2(.3) Arithmetic", + RFC4465_A_1_2__Arithmetic_3, + 174, + {11, "DIV_BY_ZERO"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //*** 4*** + "A.1.3. Sorting", + RFC4465_A_1_3__Sorting, + 223, + { + 45, "\x46\x6f\x72\x64\x2c\x20\x79\x6f\x75\x27\x72\x65\x20\x74\x75\x72\x6e\x69\x6e\x67" + "\x20\x69\x6e\x74\x6f\x20\x61\x20\x70\x65\x6e\x67\x75\x69\x6e\x2e\x20\x53\x74\x6f" + "\x70\x20\x69\x74\x2e" + }, + 371, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //*** 5** + "A.1.4. SHA-1", + RFC4465_A_1_4__SHA1, + 138, + { + 40, "\xa9\x99\x3e\x36\x47\x06\x81\x6a\xba\x3e\x25\x71\x78\x50\xc2\x6c\x9c\xd0\xd8\x9d" + "\x84\x98\x3e\x44\x1c\x3b\xd2\x6e\xba\xae\x4a\xa1\xf9\x51\x29\xe5\xe5\x46\x70\xf1" + "\x12\xff\x34\x7b\x4f\x27\xd6\x9e\x1f\x32\x8e\x6f\x4b\x55\x73\xe3\x66\x6e\x12\x2f" + "\x4f\x46\x04\x52\xeb\xb5\x63\x93\x4f\x46\x04\x52\xeb\xb5\x63\x93\x4f\x46\x04\x52" + }, + 17176, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //*** 6** + "A.1.5.(1) LOAD and MULTILOAD", + RFC4465_A_1_5__LOAD_and_MULTILOAD_1, + 58, + {16, "\x00\x84\x00\x84\x00\x86\x00\x86\x00\x2a\x00\x80\x00\x2a\x00\x2a"}, + 36, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //*** 7** + "A.1.5.(2) LOAD and MULTILOAD", + RFC4465_A_1_5__LOAD_and_MULTILOAD_2, + 58, + {21, "MULTILOAD_OVERWRITTEN"}, + 36, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //*** 8** + "A.1.5.(3) LOAD and MULTILOAD", + RFC4465_A_1_5__LOAD_and_MULTILOAD_3, + 58, + {21, "MULTILOAD_OVERWRITTEN"}, + 36, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 9** + "A.1.6. COPY", + RFC4465_A_1_6__COPY, + 60, + { + 125, "\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40" + "\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x40\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41" + "\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x41\x55\x41" + "\x42\x43\x44\x43\x44" + }, + 365, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 10** + "A.1.7. COPY-LITERAL and COPY-OFFSET", + RFC4465_A_1_7__COPY_LITERAL_and_COPY_OFFSET, + 100, + { + 34, "\x41\x41\x41\x41\x00\x61\x41\x41\x41\x41\x49\x4a\x41\x42\x43\x44\x49\x4a\x41\x42" + "\x00\x4a\x00\x4e\x47\x48\x48\x45\x46\x47\x47\x48\x45\x46" + }, + 216, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 11** + "A.1.8. MEMSET", + RFC4465_A_1_8__MEMSET, + 27, + {16, "\x80\x40\x4f\x5e\x6d\x7c\x8b\x9a\xa9\xb8\xc7\xd6\xe5\xf4\x03\x12"}, + 166, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 12** + "A.1.9.(1) CRC", + RFC4465_A_1_9__CRC_1, + 29, + {0, ""}, + 95, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 13** + "A.1.9.(2) CRC", + RFC4465_A_1_9__CRC_2, + 29, + {14, "USER_REQUESTED"}, + 95, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 14** + "A.1.10. INPUT-BITS", + RFC4465_A_1_10__INPUT_BITS, + 28, + {16, "\x00\x00\x00\x02\x00\x02\x00\x13\x00\x00\x00\x03\x00\x1a\x00\x38"}, + 66, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 15** + "A.1.11. INPUT-HUFFMAN", + RFC4465_A_1_11__INPUT_HUFFMAN, + 39, + {16, "\x00\x00\x00\x03\x00\x08\x04\xd7\x00\x02\x00\x03\x03\x99\x30\xfe"}, + 84, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 16** + "A.1.12. INPUT-BYTES", + RFC4465_A_1_12__INPUT_BYTES, + 72, + { + 39, "\x00\x00\x93\x2e\x00\x01\xb1\x66\xd8\x6f\xb1\x00\x1a\x2b\x00\x03\x9a\x97\x34\xd8" + "\x00\x07\x00\x01\x33\x87\x4e\x00\x08\xdc\x96\x51\xb5\xdc\x96\x00\x59\x9d\x6a" + }, + 130, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 17** + "A.1.13. Stack Manipulation", + RFC4465_A_1_13__Stack_Manipulation, + 324, + {16, "\x00\x03\x00\x02\x00\x01\x00\x42\x00\x42\x00\x00\x00\x01\x00\x01"}, + 40, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 18** + "A.1.14. Program Flow", + RFC4465_A_1_14__Program_Flow, + 66, + {20, "\x00\x01\x01\x02\x02\x03\x03\x04\x04\x05\x05\x06\x07\x07\x07\x08\x08\x08\x09\x09"}, + 131, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 19** + "A.1.15.(1) State Creation", + RFC4465_A_1_15__State_Creation_1, + 152, + {0, ""}, + 23, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 20 (requires previsous test)** + "A.1.15.(2) State Creation", + RFC4465_A_1_15__State_Creation_2, + 152, + {0, ""}, + 14, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 21 (requires previsous test)** + "A.1.15.(3) State Creation", + RFC4465_A_1_15__State_Creation_3, + 152, + {0, ""}, + 24, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 22 (requires previsous test)** + "A.1.15.(4) State Creation", // FAIL + RFC4465_A_1_15__State_Creation_4, + 153, + {23, "INVALID_STATE_ID_LENGTH"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 23 (requires previsous test)** + "A.1.15.(5) State Creation", // FAIL + RFC4465_A_1_15__State_Creation_5, + 153, + {23, "INVALID_STATE_ID_LENGTH"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 24 (requires previsous test)** + "A.1.15.(6) State Creation", + RFC4465_A_1_15__State_Creation_6, + 153, + {0, ""}, + 23, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 25 (requires previsous test)** + "A.1.15.(7) State Creation", + RFC4465_A_1_15__State_Creation_7, + 152, + {0, ""}, + 34, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 26 (requires previsous test)** + "A.1.15.(8) State Creation", + RFC4465_A_1_15__State_Creation_8, + 153, + {0, ""}, + 46, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 27 (requires previsous test)** + "A.1.15.(9) State Creation", + RFC4465_A_1_15__State_Creation_9, + 153, + {0, ""}, + 47, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } #if 0 // FIXME: http://code.google.com/p/doubango/issues/detail?id=181 - , - { - //** 23 (requires previsous test)** - "A.1.15.(10) State Creation", - RFC4465_A_1_15__State_Creation_10, - 153, - {0, ""}, - 60, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } + , + { + //** 23 (requires previsous test)** + "A.1.15.(10) State Creation", + RFC4465_A_1_15__State_Creation_10, + 153, + {0, ""}, + 60, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } #endif - , - { - //** 28** - "A.1.16.(0) STATE-ACCESS {Set up bytecode}", - RFC4465_A_1_16__STATE_ACCESS__SETUP, - 403, - {0, ""}, - 17, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 29 (requires previous test)** - "A.1.16.(1) STATE-ACCESS", - RFC4465_A_1_16__STATE_ACCESS_1, - 408, - {4, "\x74\x65\x73\x74"}, - 26, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 30 (requires previous test)** - "A.1.16.(2) STATE-ACCESS", - RFC4465_A_1_16__STATE_ACCESS_2, - 408, - {4, "\x74\x65\x73\x74"}, - 15, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 31 (requires previous test)** - "A.1.16.(3) STATE-ACCESS", - RFC4465_A_1_16__STATE_ACCESS_3, - 408, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 32 (requires previous test)** - "A.1.16.(4) STATE-ACCESS", - RFC4465_A_1_16__STATE_ACCESS_4, - 408, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 33 (requires previous test)** - "A.1.16.(5) STATE-ACCESS", - RFC4465_A_1_16__STATE_ACCESS_5, - 408, - {15, "STATE_TOO_SHORT"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 34** - "A.2.1.(1) Useful Values", - RFC4465_A_2_1__Useful_Values_1, - 93, - {0, ""}, - 966, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 35 (Requires previous test)** - "A.2.1.(2) Useful Values", - RFC4465_A_2_1__Useful_Values_2, - 9, - {0, ""}, - (1072 << 4), - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 36 (Requires previous test)** - "A.2.1.(3) Useful Values", - RFC4465_A_2_1__Useful_Values_3, - 9, - {16, "CYCLES_EXHAUSTED"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 37 (Requires previous test)** - "A.2.1.(4) Useful Values", - RFC4465_A_2_1__Useful_Values_4, - 9, - {8, "SEGFAULT"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 38** - "A.2.2. Cycles Checking", - RFC4465_A_2_2__Cycles_Checking, - 29, - {16, "CYCLES_EXHAUSTED"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 39** - "A.2.3.(1) Message-based Transport", - RFC4465_A_2_3_Message_based_Transport_1, - 1, - {17, "MESSAGE_TOO_SHORT"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 40** - "A.2.3.(2) Message-based Transport", - RFC4465_A_2_3_Message_based_Transport_2, - 2, - {17, "MESSAGE_TOO_SHORT"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 41** - "A.2.3.(3) Message-based Transport", - RFC4465_A_2_3_Message_based_Transport_3, - 17, - {25, "decompression_memory_size"}, - 5, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 42** - "A.2.3.(4) Message-based Transport", - RFC4465_A_2_3_Message_based_Transport_4, - 17, - {17, "MESSAGE_TOO_SHORT"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 43** - "A.2.3.(5) Message-based Transport", - RFC4465_A_2_3_Message_based_Transport_5, - 17, - {21, "INVALID_CODE_LOCATION"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 44** - "A.2.3.(6) Message-based Transport", - RFC4465_A_2_3_Message_based_Transport_6, - 17, - {25, "decompression_memory_size"}, - 5, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 45** - "A.2.4.(1&2) Stream-based Transport", - RFC4465_A_2_4_Stream_based_Transport_1, - 67, - {25, "decompression_memory_size"}, - 11, - IS_STREAM_YES, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 46** - "A.2.4.(3) Stream-based Transport", - RFC4465_A_2_4_Stream_based_Transport_3, - 3, - {17, "MESSAGE_TOO_SHORT"}, - 0, - IS_STREAM_YES, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 47** - "A.2.4.(4) Stream-based Transport", - RFC4465_A_2_4_Stream_based_Transport_4, - 4, - {17, "MESSAGE_TOO_SHORT"}, - 0, - IS_STREAM_YES, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 48** - "A.2.4.(5) Stream-based Transport", - RFC4465_A_2_4_Stream_based_Transport_5, - 30, - {17, "MESSAGE_TOO_SHORT"}, - 0, - IS_STREAM_YES, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 49** - "A.2.4.(5.1) Stream-based Transport (cleanup)", - "\xff\xff", - 2, - {14, "INTERNAL_ERROR"}, - 0, - IS_STREAM_YES, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 50** - "A.2.4.(6) Stream-based Transport", - RFC4465_A_2_4_Stream_based_Transport_6, - 29, - {21, "INVALID_CODE_LOCATION"}, - 0, - IS_STREAM_YES, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 51** - "A.2.4.(6.1) Stream-based Transport (cleanup)", - "\xff\xff", - 2, - {14, "INTERNAL_ERROR"}, - 0, - IS_STREAM_YES, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 52** - "A.2.5.(1) Input Past the End of a Message", - RFC4465_A_2_5__Input_Past_the_End_of_a_Message_1, - 59, - {3, "\x68\x69\x21"}, - 23, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 53** - "A.2.5.(2) Input Past the End of a Message", - RFC4465_A_2_5__Input_Past_the_End_of_a_Message_2, - 58, - {14, "USER_REQUESTED"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 54** - "A.3.1.(1) SigComp Feedback Mechanism", - RFC4465_A_3_1__SigComp_Feedback_Mechanism_1, - 84, - {0, ""}, - 52, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 55** - "A.3.1.(2) SigComp Feedback Mechanism", - RFC4465_A_3_1__SigComp_Feedback_Mechanism_2, - 84, - {0, ""}, - 179, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 56 (SMS MUST be 2048)** - "A.3.2.(1) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_1, - 446, - {0, ""}, - 811, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 57 (Requires previous test)** - "A.3.2.(2) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_2, - 446, - {0, ""}, - 2603, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 58 (Requires previous test)** - "A.3.2.(3) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_3, - 446, - {0, ""}, - 811, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 59 (Requires previous test)** - "A.3.2.(4) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_4, - 446, - {0, ""}, - 1805, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 60 (Requires previous test)** - "A.3.2.(5) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_5, - 446, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID - } - , - { - //** 61 (Requires previous test)** - "A.3.2.(6) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_6, - 446, - {0, ""}, - 2057, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 62 (Requires previous test)** - "A.3.2.(7) State Memory Management", - RFC4465_A_3_2__State_Memory_Management_7, - 446, - {0, ""}, - 1993, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 63** - "A.3.3.(1) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_1, - 437, - {0, ""}, - 1809, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID_0 - } - , - { - //** 64 (requires previsous test)** - "A.3.3.(2) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_2, - 437, - {0, ""}, - 1809, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID_1 - } - , - { - //** 65 (requires previsous test)** - "A.3.3.(3) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_3, - 437, - {0, ""}, - 1809, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID_2 - } - , - { - //** 66 (requires previsous test)** - "A.3.3.(4) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_4, - 437, - {0, ""}, - 1993, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID_0 - } - , - { - //** 67 (requires previsous test)** - "A.3.3.(5) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_5, - 437, - {0, ""}, - 1994, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID_1 - } - , - { - //** 68 (requires previsous test)** - "A.3.3.(6) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_6, - 437, - {0, ""}, - 1804, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID_2 - } - , - { - //** 69 (requires previsous test)** - "A.3.3.(7) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_7, - 437, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID_0 - } - , - { - //** 70 (requires previsous test)** - "A.3.3.(8) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_8, - 437, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID_1 - } - , - { - //** 71 (requires previsous test)** - "A.3.3.(9) Multiple Compartments", - RFC4465_A_3_3__Multiple_Compartments_9, - 437, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - COMPARTMENT_ID_2 - } - , - { - //** 72** - "A.3.4. Accessing RFC 3485 State", - RFC4465_A_3_4__Accessing_RFC_3485_State, - 61, - {3, "\x53\x49\x50"}, - 11, - IS_STREAM_NO, - XFAIL_NO, - COMPARTMENT_ID - } - , - { - //** 73** - "A.3.5.(1) Bytecode State Creation", - RFC4465_A_3_5__Bytecode_State_Creation_1, - 74, - {2, "\x4f\x4b"}, - 66, - IS_STREAM_NO, - XFAIL_NO, - "Comp-id:A.3.5. Bytecode State Creation" - } - , - { - //** 74** - "A.3.5.(2) Bytecode State Creation", - RFC4465_A_3_5__Bytecode_State_Creation_2, - 8, - {3, "\x4f\x4b\x31"}, - 7, - IS_STREAM_NO, - XFAIL_NO, - "Comp-id:A.3.5. Bytecode State Creation" - } - , - { - //** 75** - "A.3.5.(3) Bytecode State Creation", - RFC4465_A_3_5__Bytecode_State_Creation_3, - 13, - {3, "\x4f\x4b\x32"}, - 5, - IS_STREAM_NO, - XFAIL_NO, - "Comp-id:A.3.5. Bytecode State Creation" - } - , - { - //** 76** - "A.3.5.(4) Bytecode State Creation", - RFC4465_A_3_5__Bytecode_State_Creation_4, - 7, - {3, "\x00\x00\x32"}, - 5, - IS_STREAM_NO, - XFAIL_NO, - "Comp-id:A.3.5. Bytecode State Creation" - } - , - { - //** 77** - "A.3.5.(5) Bytecode State Creation", - RFC4465_A_3_5__Bytecode_State_Creation_5, - 7, - {15, "STATE_NOT_FOUND"}, - 0, - IS_STREAM_NO, - XFAIL_YES, - "Comp-id:A.3.5. Bytecode State Creation" - } + , + { + //** 28** + "A.1.16.(0) STATE-ACCESS {Set up bytecode}", + RFC4465_A_1_16__STATE_ACCESS__SETUP, + 403, + {0, ""}, + 17, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 29 (requires previous test)** + "A.1.16.(1) STATE-ACCESS", + RFC4465_A_1_16__STATE_ACCESS_1, + 408, + {4, "\x74\x65\x73\x74"}, + 26, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 30 (requires previous test)** + "A.1.16.(2) STATE-ACCESS", + RFC4465_A_1_16__STATE_ACCESS_2, + 408, + {4, "\x74\x65\x73\x74"}, + 15, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 31 (requires previous test)** + "A.1.16.(3) STATE-ACCESS", + RFC4465_A_1_16__STATE_ACCESS_3, + 408, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 32 (requires previous test)** + "A.1.16.(4) STATE-ACCESS", + RFC4465_A_1_16__STATE_ACCESS_4, + 408, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 33 (requires previous test)** + "A.1.16.(5) STATE-ACCESS", + RFC4465_A_1_16__STATE_ACCESS_5, + 408, + {15, "STATE_TOO_SHORT"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 34** + "A.2.1.(1) Useful Values", + RFC4465_A_2_1__Useful_Values_1, + 93, + {0, ""}, + 966, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 35 (Requires previous test)** + "A.2.1.(2) Useful Values", + RFC4465_A_2_1__Useful_Values_2, + 9, + {0, ""}, + (1072 << 4), + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 36 (Requires previous test)** + "A.2.1.(3) Useful Values", + RFC4465_A_2_1__Useful_Values_3, + 9, + {16, "CYCLES_EXHAUSTED"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 37 (Requires previous test)** + "A.2.1.(4) Useful Values", + RFC4465_A_2_1__Useful_Values_4, + 9, + {8, "SEGFAULT"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 38** + "A.2.2. Cycles Checking", + RFC4465_A_2_2__Cycles_Checking, + 29, + {16, "CYCLES_EXHAUSTED"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 39** + "A.2.3.(1) Message-based Transport", + RFC4465_A_2_3_Message_based_Transport_1, + 1, + {17, "MESSAGE_TOO_SHORT"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 40** + "A.2.3.(2) Message-based Transport", + RFC4465_A_2_3_Message_based_Transport_2, + 2, + {17, "MESSAGE_TOO_SHORT"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 41** + "A.2.3.(3) Message-based Transport", + RFC4465_A_2_3_Message_based_Transport_3, + 17, + {25, "decompression_memory_size"}, + 5, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 42** + "A.2.3.(4) Message-based Transport", + RFC4465_A_2_3_Message_based_Transport_4, + 17, + {17, "MESSAGE_TOO_SHORT"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 43** + "A.2.3.(5) Message-based Transport", + RFC4465_A_2_3_Message_based_Transport_5, + 17, + {21, "INVALID_CODE_LOCATION"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 44** + "A.2.3.(6) Message-based Transport", + RFC4465_A_2_3_Message_based_Transport_6, + 17, + {25, "decompression_memory_size"}, + 5, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 45** + "A.2.4.(1&2) Stream-based Transport", + RFC4465_A_2_4_Stream_based_Transport_1, + 67, + {25, "decompression_memory_size"}, + 11, + IS_STREAM_YES, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 46** + "A.2.4.(3) Stream-based Transport", + RFC4465_A_2_4_Stream_based_Transport_3, + 3, + {17, "MESSAGE_TOO_SHORT"}, + 0, + IS_STREAM_YES, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 47** + "A.2.4.(4) Stream-based Transport", + RFC4465_A_2_4_Stream_based_Transport_4, + 4, + {17, "MESSAGE_TOO_SHORT"}, + 0, + IS_STREAM_YES, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 48** + "A.2.4.(5) Stream-based Transport", + RFC4465_A_2_4_Stream_based_Transport_5, + 30, + {17, "MESSAGE_TOO_SHORT"}, + 0, + IS_STREAM_YES, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 49** + "A.2.4.(5.1) Stream-based Transport (cleanup)", + "\xff\xff", + 2, + {14, "INTERNAL_ERROR"}, + 0, + IS_STREAM_YES, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 50** + "A.2.4.(6) Stream-based Transport", + RFC4465_A_2_4_Stream_based_Transport_6, + 29, + {21, "INVALID_CODE_LOCATION"}, + 0, + IS_STREAM_YES, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 51** + "A.2.4.(6.1) Stream-based Transport (cleanup)", + "\xff\xff", + 2, + {14, "INTERNAL_ERROR"}, + 0, + IS_STREAM_YES, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 52** + "A.2.5.(1) Input Past the End of a Message", + RFC4465_A_2_5__Input_Past_the_End_of_a_Message_1, + 59, + {3, "\x68\x69\x21"}, + 23, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 53** + "A.2.5.(2) Input Past the End of a Message", + RFC4465_A_2_5__Input_Past_the_End_of_a_Message_2, + 58, + {14, "USER_REQUESTED"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 54** + "A.3.1.(1) SigComp Feedback Mechanism", + RFC4465_A_3_1__SigComp_Feedback_Mechanism_1, + 84, + {0, ""}, + 52, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 55** + "A.3.1.(2) SigComp Feedback Mechanism", + RFC4465_A_3_1__SigComp_Feedback_Mechanism_2, + 84, + {0, ""}, + 179, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 56 (SMS MUST be 2048)** + "A.3.2.(1) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_1, + 446, + {0, ""}, + 811, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 57 (Requires previous test)** + "A.3.2.(2) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_2, + 446, + {0, ""}, + 2603, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 58 (Requires previous test)** + "A.3.2.(3) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_3, + 446, + {0, ""}, + 811, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 59 (Requires previous test)** + "A.3.2.(4) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_4, + 446, + {0, ""}, + 1805, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 60 (Requires previous test)** + "A.3.2.(5) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_5, + 446, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID + } + , + { + //** 61 (Requires previous test)** + "A.3.2.(6) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_6, + 446, + {0, ""}, + 2057, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 62 (Requires previous test)** + "A.3.2.(7) State Memory Management", + RFC4465_A_3_2__State_Memory_Management_7, + 446, + {0, ""}, + 1993, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 63** + "A.3.3.(1) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_1, + 437, + {0, ""}, + 1809, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID_0 + } + , + { + //** 64 (requires previsous test)** + "A.3.3.(2) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_2, + 437, + {0, ""}, + 1809, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID_1 + } + , + { + //** 65 (requires previsous test)** + "A.3.3.(3) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_3, + 437, + {0, ""}, + 1809, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID_2 + } + , + { + //** 66 (requires previsous test)** + "A.3.3.(4) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_4, + 437, + {0, ""}, + 1993, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID_0 + } + , + { + //** 67 (requires previsous test)** + "A.3.3.(5) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_5, + 437, + {0, ""}, + 1994, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID_1 + } + , + { + //** 68 (requires previsous test)** + "A.3.3.(6) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_6, + 437, + {0, ""}, + 1804, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID_2 + } + , + { + //** 69 (requires previsous test)** + "A.3.3.(7) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_7, + 437, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID_0 + } + , + { + //** 70 (requires previsous test)** + "A.3.3.(8) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_8, + 437, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID_1 + } + , + { + //** 71 (requires previsous test)** + "A.3.3.(9) Multiple Compartments", + RFC4465_A_3_3__Multiple_Compartments_9, + 437, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + COMPARTMENT_ID_2 + } + , + { + //** 72** + "A.3.4. Accessing RFC 3485 State", + RFC4465_A_3_4__Accessing_RFC_3485_State, + 61, + {3, "\x53\x49\x50"}, + 11, + IS_STREAM_NO, + XFAIL_NO, + COMPARTMENT_ID + } + , + { + //** 73** + "A.3.5.(1) Bytecode State Creation", + RFC4465_A_3_5__Bytecode_State_Creation_1, + 74, + {2, "\x4f\x4b"}, + 66, + IS_STREAM_NO, + XFAIL_NO, + "Comp-id:A.3.5. Bytecode State Creation" + } + , + { + //** 74** + "A.3.5.(2) Bytecode State Creation", + RFC4465_A_3_5__Bytecode_State_Creation_2, + 8, + {3, "\x4f\x4b\x31"}, + 7, + IS_STREAM_NO, + XFAIL_NO, + "Comp-id:A.3.5. Bytecode State Creation" + } + , + { + //** 75** + "A.3.5.(3) Bytecode State Creation", + RFC4465_A_3_5__Bytecode_State_Creation_3, + 13, + {3, "\x4f\x4b\x32"}, + 5, + IS_STREAM_NO, + XFAIL_NO, + "Comp-id:A.3.5. Bytecode State Creation" + } + , + { + //** 76** + "A.3.5.(4) Bytecode State Creation", + RFC4465_A_3_5__Bytecode_State_Creation_4, + 7, + {3, "\x00\x00\x32"}, + 5, + IS_STREAM_NO, + XFAIL_NO, + "Comp-id:A.3.5. Bytecode State Creation" + } + , + { + //** 77** + "A.3.5.(5) Bytecode State Creation", + RFC4465_A_3_5__Bytecode_State_Creation_5, + 7, + {15, "STATE_NOT_FOUND"}, + 0, + IS_STREAM_NO, + XFAIL_YES, + "Comp-id:A.3.5. Bytecode State Creation" + } }; -int startsWith(const char* buffer1, size_t size1, const char* buffer2, size_t size2) +int startsWith(const char* buffer1, size_t size1, const char* buffer2, size_t size2) { - size_t i; + size_t i; - if(!size2) return 1; - if(size1 < size2) return 0; + if(!size2) { + return 1; + } + if(size1 < size2) { + return 0; + } - for(i = 0; i< size2; i++) - { - if(buffer1[i] != buffer2[i]) - { - return 0; - } - } - return 1; + for(i = 0; i< size2; i++) { + if(buffer1[i] != buffer2[i]) { + return 0; + } + } + return 1; } static const int16_t wordForEndianess = 0x4321; @@ -1031,116 +1046,116 @@ static tsk_bool_t isBigEndian; static TCOMP_INLINE uint16_t HostToNetworkShort(uint16_t x) { - return isBigEndian ? (x) : ((((uint16_t)(x) & 0xff00) >> 8) | - (((uint16_t)(x) & 0x00ff) << 8)); + return isBigEndian ? (x) : ((((uint16_t)(x) & 0xff00) >> 8) | + (((uint16_t)(x) & 0x00ff) << 8)); } static void checkResult(const struct_torture_test* test, const tcomp_result_t *result, const void* output_ptr, tsk_size_t output_size) { - tsk_bool_t ok_cycles = (result->consumed_cycles == test->xcycles); - tsk_bool_t ok_output = tsk_true; + tsk_bool_t ok_cycles = (result->consumed_cycles == test->xcycles); + tsk_bool_t ok_output = tsk_true; - if(tsk_striequals(test->xoutput.ptr, "decompression_memory_size")){ - printf("xoutput (decompression_memory_size): %s\n", (HostToNetworkShort(DMS) == *((uint16_t*)output_ptr)) ? "YES" : "NO"); - } - else{ - ok_output = startsWith(output_ptr, output_size, test->xoutput.ptr, test->xoutput.size); - printf("xoutput: %s\n", ok_output ? "YES" : "NO"); - } - printf("xcycles: %s\n", ok_cycles ? "YES" : "NO"); - if(!ok_cycles || !ok_output){ - assert(test->xfail && result->isNack); // failure must be expected and NACK have to be present - assert(tsk_strequals(test->xoutput.ptr, tcomp_nackinfo_get_description(result->nack_info))); // returned NACK and expected one must be equal - } + if(tsk_striequals(test->xoutput.ptr, "decompression_memory_size")) { + printf("xoutput (decompression_memory_size): %s\n", (HostToNetworkShort(DMS) == *((uint16_t*)output_ptr)) ? "YES" : "NO"); + } + else { + ok_output = startsWith(output_ptr, output_size, test->xoutput.ptr, test->xoutput.size); + printf("xoutput: %s\n", ok_output ? "YES" : "NO"); + } + printf("xcycles: %s\n", ok_cycles ? "YES" : "NO"); + if(!ok_cycles || !ok_output) { + assert(test->xfail && result->isNack); // failure must be expected and NACK have to be present + assert(tsk_strequals(test->xoutput.ptr, tcomp_nackinfo_get_description(result->nack_info))); // returned NACK and expected one must be equal + } } static int test_tortures() { - size_t i, start, end; - size_t res_size = 0; - char buffer[OUTPUT_BUFFER_SIZE]; + size_t i, start, end; + size_t res_size = 0; + char buffer[OUTPUT_BUFFER_SIZE]; #if RUN_TEST_LOOP - for(;;) + for(;;) #endif - { - tcomp_manager_handle_t *manager = tcomp_manager_create(); - tcomp_result_t *result = tcomp_result_create(); + { + tcomp_manager_handle_t *manager = tcomp_manager_create(); + tcomp_result_t *result = tcomp_result_create(); - isBigEndian = ((*(int8_t *)&wordForEndianess) != 0x21); + isBigEndian = ((*(int8_t *)&wordForEndianess) != 0x21); - /* Add SIP dictionary. */ - tcomp_manager_addSipSdpDictionary(manager); + /* Add SIP dictionary. */ + tcomp_manager_addSipSdpDictionary(manager); - /* Add Presence dictionary. */ - tcomp_manager_addPresenceDictionary(manager); + /* Add Presence dictionary. */ + tcomp_manager_addPresenceDictionary(manager); - /* Set decompression size. */ - tcomp_manager_setDecompression_Memory_Size(manager, DMS); - /* Set state memory size. */ - tcomp_manager_setState_Memory_Size(manager, SMS); - /* Set Cycles Per Bit */ - tcomp_manager_setCycles_Per_Bit(manager, CPB); + /* Set decompression size. */ + tcomp_manager_setDecompression_Memory_Size(manager, DMS); + /* Set state memory size. */ + tcomp_manager_setState_Memory_Size(manager, SMS); + /* Set Cycles Per Bit */ + tcomp_manager_setCycles_Per_Bit(manager, CPB); #if RUN_TEST_ALL - start = 0, end = sizeof(tests)/sizeof(tests[0]); + start = 0, end = sizeof(tests)/sizeof(tests[0]); #else - start = RUN_TEST_NO, end = RUN_TEST_NO + 1; + start = RUN_TEST_NO, end = RUN_TEST_NO + 1; #endif - for(i = start; i<end; i++){ - printf("=== Testing %s ===\n\n", tests[i].section_name); + for(i = start; i<end; i++) { + printf("=== Testing %s ===\n\n", tests[i].section_name); - if(tests[i].stream){ - tcomp_result_setOutputTCPBuffer(result, buffer, OUTPUT_BUFFER_SIZE, STREAM_ID); - } - else{ - tcomp_result_setOutputUDPBuffer(result, buffer, OUTPUT_BUFFER_SIZE); - } + if(tests[i].stream) { + tcomp_result_setOutputTCPBuffer(result, buffer, OUTPUT_BUFFER_SIZE, STREAM_ID); + } + else { + tcomp_result_setOutputUDPBuffer(result, buffer, OUTPUT_BUFFER_SIZE); + } - /* Performs decompression */ - res_size = tcomp_manager_decompress(manager, tests[i].bytecode, tests[i].bytecode_size, result); - if(result->isNack){ - printf("\n==WE GOT A NACK\n\n"); - //sendto(tcomp_buffer_getBuffer(result->nack_info), tcomp_buffer_getSize(result->nack_info)); - } - else{ - tcomp_result_setCompartmentId(result, tests[i].comp_id, strlen(tests[i].comp_id)); - tcomp_manager_provideCompartmentId(manager, result); - } + /* Performs decompression */ + res_size = tcomp_manager_decompress(manager, tests[i].bytecode, tests[i].bytecode_size, result); + if(result->isNack) { + printf("\n==WE GOT A NACK\n\n"); + //sendto(tcomp_buffer_getBuffer(result->nack_info), tcomp_buffer_getSize(result->nack_info)); + } + else { + tcomp_result_setCompartmentId(result, tests[i].comp_id, strlen(tests[i].comp_id)); + tcomp_manager_provideCompartmentId(manager, result); + } - /* Checks result */ - checkResult(&tests[i], result, buffer, sizeof(buffer)); + /* Checks result */ + checkResult(&tests[i], result, buffer, sizeof(buffer)); - /* Get sub-sequent stream messages */ - if(tests[i].stream && (res_size || result->isNack)){ - uint64_t consumed_cycles = result->consumed_cycles; // save "consumed_cycles" (shared by all sub-sequent messages) - for(;;){ - res_size = tcomp_manager_getNextStreamMessage(manager, result); - if(!res_size && !result->isNack){ - break; - } - else if(res_size){ - tcomp_result_setCompartmentId(result, tests[i].comp_id, strlen(tests[i].comp_id)); - tcomp_manager_provideCompartmentId(manager, result); - } - else{ - printf("\n==WE GOT A NACK\n\n"); - //sendto(tcomp_buffer_getBuffer(result->nack_info), tcomp_buffer_getSize(result->nack_info)); - } - result->consumed_cycles = consumed_cycles; // restore cycles just for checking. Had been cleared by "tcomp_manager_getNextStreamMessage()" - checkResult(&tests[i], result, buffer, sizeof(buffer)); - } - } - } + /* Get sub-sequent stream messages */ + if(tests[i].stream && (res_size || result->isNack)) { + uint64_t consumed_cycles = result->consumed_cycles; // save "consumed_cycles" (shared by all sub-sequent messages) + for(;;) { + res_size = tcomp_manager_getNextStreamMessage(manager, result); + if(!res_size && !result->isNack) { + break; + } + else if(res_size) { + tcomp_result_setCompartmentId(result, tests[i].comp_id, strlen(tests[i].comp_id)); + tcomp_manager_provideCompartmentId(manager, result); + } + else { + printf("\n==WE GOT A NACK\n\n"); + //sendto(tcomp_buffer_getBuffer(result->nack_info), tcomp_buffer_getSize(result->nack_info)); + } + result->consumed_cycles = consumed_cycles; // restore cycles just for checking. Had been cleared by "tcomp_manager_getNextStreamMessage()" + checkResult(&tests[i], result, buffer, sizeof(buffer)); + } + } + } - /* Free previously allocated resources. */ - TSK_OBJECT_SAFE_FREE(result); - TSK_OBJECT_SAFE_FREE(manager); + /* Free previously allocated resources. */ + TSK_OBJECT_SAFE_FREE(result); + TSK_OBJECT_SAFE_FREE(manager); - }/* LOOP */ + }/* LOOP */ - return 0; + return 0; } #endif /* TEST_TINYSIGCOMP_TORTURES_H */ |