Test suites: print error on failed platform_setup

Return encountered errors instead of covering them
Fix return value on the broken snprintf implementation
diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function
index c436fbb..f82694a 100644
--- a/tests/suites/helpers.function
+++ b/tests/suites/helpers.function
@@ -132,13 +132,11 @@
 /* Helper Functions */
 static int platform_setup()
 {
+    int ret = 0;
 #if defined(MBEDTLS_PLATFORM_C)
-    if( mbedtls_platform_setup( &platform_ctx ) != 0 )
-    {
-        return -1;
-    }
+    ret = mbedtls_platform_setup( &platform_ctx );
 #endif /* MBEDTLS_PLATFORM_C */
-    return 0;
+    return( ret );
 }
 
 static void platform_teardown()
diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function
index 8d7e477..1390f9f 100644
--- a/tests/suites/main_test.function
+++ b/tests/suites/main_test.function
@@ -282,10 +282,14 @@
     !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
     unsigned char alloc_buf[1000000];
 #endif 
-    if( platform_setup() != 0 )
+    /* Platform setup should be called in the beginning */
+    ret = platform_setup();
+    if( ret != 0 )
     {
-        mbedtls_fprintf( stderr, "FATAL: Failed to initialize platform" );
-        return -1;
+        mbedtls_fprintf( stderr,
+                         "FATAL: Failed to initialize platform - error %d\n",
+                         ret );
+        return( -1 );
     }
 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \
     !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
@@ -312,7 +316,7 @@
     {
         mbedtls_fprintf( stderr, "the snprintf implementation is broken\n" );
         platform_teardown();
-        return( 0 );
+        return( 1 );
     }
 
     while( arg_index < argc)