unit test: Indicate missing unmet dependencies

The identifiers of the unmet dependencies of a test case are
stored in a buffer of fixed size that can be potentially to
small to store all the unmet dependencies. Indicate in test
reports if some unmet dependencies are missing.

Signed-off-by: Ronald Cron <ronald.cron@arm.com>
diff --git a/tests/suites/host_test.function b/tests/suites/host_test.function
index 14925eb..b6490fb 100644
--- a/tests/suites/host_test.function
+++ b/tests/suites/host_test.function
@@ -418,14 +418,17 @@
  *
  * \param outcome_file  The file to write to.
  *                      If this is \c NULL, this function does nothing.
- * \param unmet_dep_count       The number of unmet dependencies.
- * \param unmet_dependencies    The array of unmet dependencies.
+ * \param unmet_dep_count            The number of unmet dependencies.
+ * \param unmet_dependencies         The array of unmet dependencies.
+ * \param missing_unmet_dependencies Non-zero if there was a problem tracking
+ *                                   all unmet dependencies, 0 otherwise.
  * \param ret           The test dispatch status (DISPATCH_xxx).
  * \param test_info     A pointer to the test info structure.
  */
 static void write_outcome_result( FILE *outcome_file,
                                   size_t unmet_dep_count,
                                   int unmet_dependencies[],
+                                  int missing_unmet_dependencies,
                                   int ret,
                                   const test_info_t *info )
 {
@@ -447,6 +450,8 @@
                                      i == 0 ? ';' : ':',
                                      unmet_dependencies[i] );
                 }
+                if( missing_unmet_dependencies )
+                    mbedtls_fprintf( outcome_file, ":..." );
                 break;
             }
             switch( info->result )
@@ -599,6 +604,7 @@
     {
         size_t unmet_dep_count = 0;
         int unmet_dependencies[20];
+        int missing_unmet_dependencies = 0;
 
         test_filename = test_files[ testfile_index ];
 
@@ -621,6 +627,7 @@
                 mbedtls_exit( MBEDTLS_EXIT_FAILURE );
             }
             unmet_dep_count = 0;
+            missing_unmet_dependencies = 0;
 
             if( ( ret = get_line( file, buf, sizeof(buf) ) ) != 0 )
                 break;
@@ -653,6 +660,10 @@
                             unmet_dependencies[unmet_dep_count] = dep_id;
                             unmet_dep_count++;
                         }
+                        else
+                        {
+                            missing_unmet_dependencies = 1;
+                        }
                     }
                 }
 
@@ -706,6 +717,7 @@
 
             write_outcome_result( outcome_file,
                                   unmet_dep_count, unmet_dependencies,
+                                  missing_unmet_dependencies,
                                   ret, &test_info );
             if( unmet_dep_count > 0 || ret == DISPATCH_UNSUPPORTED_SUITE )
             {
@@ -725,11 +737,14 @@
                         mbedtls_fprintf( stdout, "%d ",
                                         unmet_dependencies[i] );
                     }
+                    if( missing_unmet_dependencies )
+                        mbedtls_fprintf( stdout, "..." );
                 }
                 mbedtls_fprintf( stdout, "\n" );
                 fflush( stdout );
 
                 unmet_dep_count = 0;
+                missing_unmet_dependencies = 0;
             }
             else if( ret == DISPATCH_TEST_SUCCESS )
             {