test_suite_debug.function 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. BEGIN_HEADER
  2. #include <polarssl/debug.h>
  3. struct buffer_data
  4. {
  5. char buf[2000];
  6. char *ptr;
  7. };
  8. void string_debug(void *data, int level, const char *str)
  9. {
  10. struct buffer_data *buffer = (struct buffer_data *) data;
  11. ((void) level);
  12. memcpy(buffer->ptr, str, strlen(str));
  13. buffer->ptr += strlen(str);
  14. }
  15. END_HEADER
  16. BEGIN_DEPENDENCIES
  17. depends_on:POLARSSL_DEBUG_C:POLARSSL_BIGNUM_C:POLARSSL_SSL_TLS_C:POLARSSL_RSA_C
  18. END_DEPENDENCIES
  19. BEGIN_CASE
  20. debug_print_crt:crt_file:file:line:prefix:result_str
  21. {
  22. x509_cert crt;
  23. ssl_context ssl;
  24. struct buffer_data buffer;
  25. memset( &crt, 0, sizeof( x509_cert ) );
  26. memset( &ssl, 0, sizeof( ssl_context ) );
  27. memset( buffer.buf, 0, 2000 );
  28. buffer.ptr = buffer.buf;
  29. ssl_set_dbg(&ssl, string_debug, &buffer);
  30. TEST_ASSERT( x509parse_crtfile( &crt, {crt_file} ) == 0 );
  31. debug_print_crt( &ssl, 0, {file}, {line}, {prefix}, &crt);
  32. TEST_ASSERT( strcmp( buffer.buf, {result_str} ) == 0 );
  33. }
  34. END_CASE
  35. BEGIN_CASE
  36. debug_print_mpi:radix:value:file:line:prefix:result_str
  37. {
  38. ssl_context ssl;
  39. struct buffer_data buffer;
  40. mpi val;
  41. mpi_init( &val );
  42. memset( &ssl, 0, sizeof( ssl_context ) );
  43. memset( buffer.buf, 0, 2000 );
  44. buffer.ptr = buffer.buf;
  45. TEST_ASSERT( mpi_read_string( &val, {radix}, {value} ) == 0 );
  46. ssl_set_dbg(&ssl, string_debug, &buffer);
  47. debug_print_mpi( &ssl, 0, {file}, {line}, {prefix}, &val);
  48. TEST_ASSERT( strcmp( buffer.buf, {result_str} ) == 0 );
  49. mpi_free( &val );
  50. }
  51. END_CASE