13 static int test_guess_raw_type(struct isds_ctx
*context
,
14 const struct test
*test
) {
19 isds_raw_type guessed_type
;
23 if (test_mmap_file(test
->file
, &fd
, &buffer
, &length
))
24 FAIL_TEST("Could not load test data from `%s' file", test
->file
);
26 err
= isds_guess_raw_type(context
, &guessed_type
, buffer
, length
);
27 test_munmap_file(fd
, buffer
, length
);
29 if (err
!= test
->error
)
30 FAIL_TEST("Wrong return value: expected=%s, got=%s",
31 isds_strerror(test
->error
), isds_strerror(err
));
33 if (!err
&& guessed_type
!= test
->type
)
34 FAIL_TEST("Wrong raw type guessed on file %s: expected=%d, got=%d",
35 test
->file
, test
->type
, guessed_type
);
41 int main(int argc
, char **argv
) {
42 struct test tests
[] = {
44 .name
= "unsigned incoming message",
45 .file
= "../server/messages/received_message-151916.xml",
46 .type
= RAWTYPE_INCOMING_MESSAGE
,
49 /* FIXME: test plain and CMS signed incoming messages */
51 .name
= "plain signed sent message",
52 .file
= "../server/messages/sent_message-206720.xml",
53 .type
= RAWTYPE_PLAIN_SIGNED_OUTGOING_MESSAGE
,
57 .name
= "CMS signed sent message",
58 .file
= "../server/messages/signed_sent_message-151874.zfo",
59 .type
= RAWTYPE_CMS_SIGNED_OUTGOING_MESSAGE
,
62 /* FIXME: test unsigned delivery info */
64 .name
= "plain signed delivery info",
65 .file
= "../server/messages/signed_delivered-DD_170272.xml",
66 .type
= RAWTYPE_PLAIN_SIGNED_DELIVERYINFO
,
70 .name
= "CMS signed delivery info",
71 .file
= "../server/messages/signed_delivered-DD_170272.zfo",
72 .type
= RAWTYPE_CMS_SIGNED_DELIVERYINFO
,
77 .file
= "guess_raw_type.c",
84 struct isds_ctx
*context
= NULL
;
86 INIT_TEST("guess_raw_type");
89 ABORT_UNIT("init_isds() failed");
91 context
= isds_ctx_create();
93 ABORT_UNIT("isds_ctx_create() failed");
95 for (int i
= 0; tests
[i
].name
; i
++)
96 TEST(tests
[i
].name
, test_guess_raw_type
, context
, &tests
[i
]);
98 isds_ctx_free(&context
);