Mercurial > dovecot > core-2.2
view src/lib-mail/test-message-header-hash.c @ 21390:2e2563132d5f
Updated copyright notices to include the year 2017.
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Wed, 11 Jan 2017 02:51:13 +0100 |
parents | 59437f8764c6 |
children | 052275fa15ab |
line wrap: on
line source
/* Copyright (c) 2016-2017 Dovecot authors, see the included COPYING file */ #include "lib.h" #include "test-common.h" #include "md5.h" #include "message-header-hash.h" static const unsigned char test_input[] = "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" "\x20!?x??yz\x7f\x80\x90\xff-plop\xff"; static const unsigned char test_output[] = "?\t\n? !?x?yz?-plop?"; static void test_dsync_mail_hash_more(void) { struct message_header_hash_context ctx; struct md5_context md5_ctx; unsigned char md5_input[MD5_RESULTLEN], md5_output[MD5_RESULTLEN]; test_begin("dsync_mail_hash_more v2"); md5_init(&md5_ctx); i_zero(&ctx); message_header_hash_more(&ctx, &hash_method_md5, &md5_ctx, 2, test_input, sizeof(test_input)-1); md5_final(&md5_ctx, md5_input); md5_init(&md5_ctx); md5_update(&md5_ctx, test_output, sizeof(test_output)-1); md5_final(&md5_ctx, md5_output); test_assert(memcmp(md5_input, md5_output, MD5_RESULTLEN) == 0); /* single byte at a time */ md5_init(&md5_ctx); i_zero(&ctx); for (unsigned int i = 0; i < sizeof(test_input)-1; i++) { message_header_hash_more(&ctx, &hash_method_md5, &md5_ctx, 2, test_input + i, 1); } md5_final(&md5_ctx, md5_input); test_assert(memcmp(md5_input, md5_output, MD5_RESULTLEN) == 0); test_end(); } int main(void) { static void (*test_functions[])(void) = { test_dsync_mail_hash_more, NULL }; return test_run(test_functions); }