blob: 6010f7470b29357bcf15df5e7bdb74e30243cea0 [file] [log] [blame]
Paul Bakker33b43f12013-08-20 11:48:36 +02001/* BEGIN_HEADER */
Paul Bakker1f761152010-02-18 18:16:31 +00002#include <polarssl/debug.h>
3
4struct buffer_data
5{
6 char buf[2000];
7 char *ptr;
8};
9
Paul Bakkerff60ee62010-03-16 21:09:09 +000010void string_debug(void *data, int level, const char *str)
Paul Bakker1f761152010-02-18 18:16:31 +000011{
12 struct buffer_data *buffer = (struct buffer_data *) data;
Paul Bakker26b41a82011-07-13 14:53:58 +000013 ((void) level);
Paul Bakker1f761152010-02-18 18:16:31 +000014
15 memcpy(buffer->ptr, str, strlen(str));
16 buffer->ptr += strlen(str);
17}
Paul Bakker33b43f12013-08-20 11:48:36 +020018/* END_HEADER */
Paul Bakker1f761152010-02-18 18:16:31 +000019
Paul Bakker33b43f12013-08-20 11:48:36 +020020/* BEGIN_DEPENDENCIES
Paul Bakker57ffa552014-04-25 14:29:10 +020021 * depends_on:POLARSSL_DEBUG_C:POLARSSL_SSL_TLS_C
Paul Bakker33b43f12013-08-20 11:48:36 +020022 * END_DEPENDENCIES
23 */
Paul Bakker5690efc2011-05-26 13:16:06 +000024
Paul Bakker57ffa552014-04-25 14:29:10 +020025/* BEGIN_CASE */
26void debug_print_ret( char *file, int line, char *text, int value,
27 char *result_str )
28{
29 ssl_context ssl;
30 struct buffer_data buffer;
31
32 memset( &ssl, 0, sizeof( ssl_context ) );
33 memset( buffer.buf, 0, 2000 );
34 buffer.ptr = buffer.buf;
35
36 ssl_set_dbg(&ssl, string_debug, &buffer);
37
38 debug_print_ret( &ssl, 0, file, line, text, value);
39
40 TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
41}
42/* END_CASE */
43
44/* BEGIN_CASE */
45void debug_print_buf( char *file, int line, char *text, char *data_string,
46 char *result_str )
47{
48 unsigned char data[10000];
49 ssl_context ssl;
50 struct buffer_data buffer;
51 size_t data_len;
52
53 memset( &data, 0, sizeof( data ) );
54 memset( &ssl, 0, sizeof( ssl_context ) );
55 memset( buffer.buf, 0, 2000 );
56 buffer.ptr = buffer.buf;
57
58 data_len = unhexify( data, data_string );
59
60 ssl_set_dbg(&ssl, string_debug, &buffer);
61
62 debug_print_buf( &ssl, 0, file, line, text, data, data_len );
63
64 TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
65}
66/* END_CASE */
67
Paul Bakker36713e82013-09-17 13:25:29 +020068/* BEGIN_CASE depends_on:POLARSSL_FS_IO:POLARSSL_X509_CRT_PARSE_C */
Paul Bakker33b43f12013-08-20 11:48:36 +020069void debug_print_crt( char *crt_file, char *file, int line, char *prefix,
70 char *result_str )
Paul Bakker1f761152010-02-18 18:16:31 +000071{
Paul Bakkerc559c7a2013-09-18 14:13:26 +020072 x509_crt crt;
Paul Bakker1f761152010-02-18 18:16:31 +000073 ssl_context ssl;
74 struct buffer_data buffer;
75
Paul Bakker369d2eb2013-09-18 11:58:25 +020076 x509_crt_init( &crt );
Paul Bakker1f761152010-02-18 18:16:31 +000077 memset( &ssl, 0, sizeof( ssl_context ) );
78 memset( buffer.buf, 0, 2000 );
Paul Bakker57ffa552014-04-25 14:29:10 +020079 buffer.ptr = buffer.buf;
Paul Bakker1f761152010-02-18 18:16:31 +000080
81 ssl_set_dbg(&ssl, string_debug, &buffer);
82
Paul Bakkerddf26b42013-09-18 13:46:23 +020083 TEST_ASSERT( x509_crt_parse_file( &crt, crt_file ) == 0 );
Paul Bakker33b43f12013-08-20 11:48:36 +020084 debug_print_crt( &ssl, 0, file, line, prefix, &crt);
Paul Bakker1f761152010-02-18 18:16:31 +000085
Paul Bakker33b43f12013-08-20 11:48:36 +020086 TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
Paul Bakker58ef6ec2013-01-03 11:33:48 +010087
Paul Bakker36713e82013-09-17 13:25:29 +020088 x509_crt_free( &crt );
Paul Bakker1f761152010-02-18 18:16:31 +000089}
Paul Bakker33b43f12013-08-20 11:48:36 +020090/* END_CASE */
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000091
Paul Bakker57ffa552014-04-25 14:29:10 +020092/* BEGIN_CASE depends_on:POLARSSL_BIGNUM_C */
Paul Bakker33b43f12013-08-20 11:48:36 +020093void debug_print_mpi( int radix, char *value, char *file, int line,
94 char *prefix, char *result_str )
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +000095{
96 ssl_context ssl;
97 struct buffer_data buffer;
98 mpi val;
99
Paul Bakker6c591fa2011-05-05 11:49:20 +0000100 mpi_init( &val );
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +0000101
102 memset( &ssl, 0, sizeof( ssl_context ) );
103 memset( buffer.buf, 0, 2000 );
Paul Bakker57ffa552014-04-25 14:29:10 +0200104 buffer.ptr = buffer.buf;
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +0000105
Paul Bakker33b43f12013-08-20 11:48:36 +0200106 TEST_ASSERT( mpi_read_string( &val, radix, value ) == 0 );
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +0000107 ssl_set_dbg(&ssl, string_debug, &buffer);
108
Paul Bakker33b43f12013-08-20 11:48:36 +0200109 debug_print_mpi( &ssl, 0, file, line, prefix, &val);
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +0000110
Paul Bakker33b43f12013-08-20 11:48:36 +0200111 TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
Paul Bakker6c591fa2011-05-05 11:49:20 +0000112
113 mpi_free( &val );
Paul Bakkerbe4e7dc2011-03-14 20:41:31 +0000114}
Paul Bakker33b43f12013-08-20 11:48:36 +0200115/* END_CASE */