From e29933bc26b1e12c4872e927e6bdd3d01e432361 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Sun, 27 Nov 2011 04:01:02 +0100 Subject: [PATCH] Add a md5 computation test --- test/Makefile.am | 3 +++ test/src/misc/md5.c | 66 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 test/src/misc/md5.c diff --git a/test/Makefile.am b/test/Makefile.am index 338c0740a7..86e2b61553 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -18,6 +18,7 @@ check_PROGRAMS = \ test_libvlc_media_list \ test_libvlc_media_player \ test_src_config_chain \ + test_src_misc_md5 \ test_src_misc_variables \ $(NULL) @@ -72,6 +73,8 @@ test_src_misc_variables_SOURCES = src/misc/variables.c test_src_misc_variables_LDADD = $(LIBVLCCORE) $(LIBVLC) test_src_config_chain_SOURCES = src/config/chain.c test_src_config_chain_LDADD = $(LIBVLCCORE) +test_src_misc_md5_SOURCES = src/misc/md5.c +test_src_misc_md5_LDADD = $(LIBVLCCORE) checkall: $(MAKE) check_PROGRAMS="$(check_PROGRAMS) $(EXTRA_PROGRAMS)" check diff --git a/test/src/misc/md5.c b/test/src/misc/md5.c new file mode 100644 index 0000000000..9f7e1a79bc --- /dev/null +++ b/test/src/misc/md5.c @@ -0,0 +1,66 @@ +/***************************************************************************** + * md5.c: test md5 + ***************************************************************************** + * Copyright (C) 2011 VideoLAN + * $Id$ + * + * Authors: Jean-Bapstiste Kempf + * + * This program 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 2 of the License, or + * (at your option) any later version. + * + * This program 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 this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +#include +#include + +#include "../../libvlc/test.h" + +#include +#include + +typedef struct +{ + const char *psz_string; + const char *psz_md5; +} md5_sample_t; + +static const md5_sample_t md5_samples[] = +{ + { "azertyuiop", "7682fe272099ea26efe39c890b33675b" }, + { NULL, NULL } +}; + +static void test_config_StringEscape() +{ + for( int i = 0; md5_samples[i].psz_string; i++ ) + { + struct md5_s md5; + InitMD5( &md5 ); + AddMD5( &md5, md5_samples[i].psz_string, strlen( md5_samples[i].psz_string ) ); + EndMD5( &md5 ); + char * psz_hash = psz_md5_hash( &md5 ); + + printf( "Output: %s, Expected: %s\n", psz_hash, md5_samples[i].psz_md5 ); + assert( !strcmp( psz_hash, md5_samples[i].psz_md5 ) ); + free( psz_hash ); + } +} + +int main( void ) +{ + log( "Testing md5 calculation\n" ); + test_config_StringEscape(); + + return 0; +} -- 2.39.2