MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / test_message

Function test_message

libs/qhttpserver/http-parser/test.c:3045–3103  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3043}
3044
3045void
3046test_message (const struct message *message)
3047{
3048 size_t raw_len = strlen(message->raw);
3049 size_t msg1len;
3050 for (msg1len = 0; msg1len < raw_len; msg1len++) {
3051 parser_init(message->type);
3052
3053 size_t read;
3054 const char *msg1 = message->raw;
3055 const char *msg2 = msg1 + msg1len;
3056 size_t msg2len = raw_len - msg1len;
3057
3058 if (msg1len) {
3059 read = parse(msg1, msg1len);
3060
3061 if (message->upgrade && parser->upgrade && num_messages > 0) {
3062 messages[num_messages - 1].upgrade = msg1 + read;
3063 goto test;
3064 }
3065
3066 if (read != msg1len) {
3067 print_error(msg1, read);
3068 abort();
3069 }
3070 }
3071
3072
3073 read = parse(msg2, msg2len);
3074
3075 if (message->upgrade && parser->upgrade) {
3076 messages[num_messages - 1].upgrade = msg2 + read;
3077 goto test;
3078 }
3079
3080 if (read != msg2len) {
3081 print_error(msg2, read);
3082 abort();
3083 }
3084
3085 read = parse(NULL, 0);
3086
3087 if (read != 0) {
3088 print_error(message->raw, read);
3089 abort();
3090 }
3091
3092 test:
3093
3094 if (num_messages != 1) {
3095 printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name);
3096 abort();
3097 }
3098
3099 if(!message_eq(0, message)) abort();
3100
3101 parser_free();
3102 }

Callers 1

mainFunction · 0.85

Calls 5

parser_initFunction · 0.85
parseFunction · 0.85
print_errorFunction · 0.85
message_eqFunction · 0.85
parser_freeFunction · 0.85

Tested by

no test coverage detected