Add debug_set_threshold() and thresholding of messages
diff --git a/tests/suites/test_suite_debug.data b/tests/suites/test_suite_debug.data
index d51445d..9b49f6a 100644
--- a/tests/suites/test_suite_debug.data
+++ b/tests/suites/test_suite_debug.data
@@ -1,3 +1,18 @@
+Debug print msg (threshold 1, level 0)
+debug_print_msg_threshold:1:0:"MyFile":999:"MyFile(0999)\: Text message, 2 == 2\n"
+
+Debug print msg (threshold 1, level 1)
+debug_print_msg_threshold:1:1:"MyFile":999:"MyFile(0999)\: Text message, 2 == 2\n"
+
+Debug print msg (threshold 1, level 2)
+debug_print_msg_threshold:1:2:"MyFile":999:""
+
+Debug print msg (threshold 0, level 1)
+debug_print_msg_threshold:0:1:"MyFile":999:""
+
+Debug print msg (threshold 0, level 5)
+debug_print_msg_threshold:0:5:"MyFile":999:""
+
 Debug print return value #1
 debug_print_ret:POLARSSL_DEBUG_LOG_FULL:"MyFile":999:"Test return value":0:"MyFile(0999)\: Test return value() returned 0 (-0x0000)\n"
 
diff --git a/tests/suites/test_suite_debug.function b/tests/suites/test_suite_debug.function
index 3a5adaf..7717a61 100644
--- a/tests/suites/test_suite_debug.function
+++ b/tests/suites/test_suite_debug.function
@@ -30,6 +30,28 @@
  */
 
 /* BEGIN_CASE */
+void debug_print_msg_threshold( int threshold, int level, char *file, int line,
+                                char *result_str )
+{
+    ssl_context ssl;
+    struct buffer_data buffer;
+
+    memset( &ssl, 0, sizeof( ssl_context ) );
+    memset( buffer.buf, 0, 2000 );
+    buffer.ptr = buffer.buf;
+
+    debug_set_log_mode( POLARSSL_DEBUG_LOG_FULL );
+    debug_set_threshold( threshold );
+    ssl_set_dbg(&ssl, string_debug, &buffer);
+
+    debug_print_msg( &ssl, level, file, line,
+                     debug_fmt("Text message, 2 == %d", 2 ) );
+
+    TEST_ASSERT( strcmp( buffer.buf, result_str ) == 0 );
+}
+/* END_CASE */
+
+/* BEGIN_CASE */
 void debug_print_ret( int mode, char *file, int line, char *text, int value,
                       char *result_str )
 {