From 0931dc632a7bea6eb50cd1c7d1688fc6e757a502 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 9 Jan 2015 17:18:14 +0000 Subject: moving hash_context testcase over as well --- src/util/test_crypto_hash_context.c | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/util/test_crypto_hash_context.c (limited to 'src/util/test_crypto_hash_context.c') diff --git a/src/util/test_crypto_hash_context.c b/src/util/test_crypto_hash_context.c new file mode 100644 index 000000000..9794f838c --- /dev/null +++ b/src/util/test_crypto_hash_context.c @@ -0,0 +1,45 @@ +/* + This file is part of GNUnet + (C) 2014 Christian Grothoff (and other contributing authors) + + GNUnet 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, or (at your option) any later version. + + GNUnet 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 + GNUnet; see the file COPYING. If not, If not, see +*/ +/** + * @file util/test_crypto_hash_context.c + * @brief test case for incremental hashing + * @author Florian Dold + */ +#include "platform.h" +#include "gnunet_util_lib.h" + +#define LEN 1234 + +int main() +{ + char data[1234]; + struct GNUNET_HashCode hc1; + struct GNUNET_HashCode hc2; + struct GNUNET_HashContext *hctx; + + memset (data, 42, LEN); + + hctx = GNUNET_CRYPTO_hash_context_start (); + GNUNET_CRYPTO_hash_context_read (hctx, data, LEN); + GNUNET_CRYPTO_hash_context_finish (hctx, &hc1); + + GNUNET_CRYPTO_hash (data, LEN, &hc2); + + if (0 == memcmp (&hc1, &hc2, sizeof (struct GNUNET_HashCode))) + return 0; + return 1; +} + -- cgit v1.2.3