summaryrefslogtreecommitdiffstats
path: root/tinySIGCOMP/test/test_tortures.h
diff options
context:
space:
mode:
Diffstat (limited to 'tinySIGCOMP/test/test_tortures.h')
-rwxr-xr-xtinySIGCOMP/test/test_tortures.h2125
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 */
OpenPOWER on IntegriCloud