Home | History | Annotate | Download | only in test_support
      1 // Copyright 2014 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef MOJO_PUBLIC_C_TEST_SUPPORT_TEST_SUPPORT_H_
      6 #define MOJO_PUBLIC_C_TEST_SUPPORT_TEST_SUPPORT_H_
      7 
      8 // Note: This header should be compilable as C.
      9 
     10 #include <stdio.h>
     11 
     12 #include "mojo/public/c/test_support/test_support_export.h"
     13 
     14 #ifdef __cplusplus
     15 extern "C" {
     16 #endif
     17 
     18 MOJO_TEST_SUPPORT_EXPORT void MojoTestSupportLogPerfResult(
     19     const char* test_name,
     20     double value,
     21     const char* units);
     22 
     23 // Opens a "/"-delimited file path relative to the source root.
     24 MOJO_TEST_SUPPORT_EXPORT FILE* MojoTestSupportOpenSourceRootRelativeFile(
     25     const char* source_root_relative_path);
     26 
     27 // Enumerates a "/"-delimited directory path relative to the source root.
     28 // Returns only regular files. The return value is a heap-allocated array of
     29 // heap-allocated strings. Each must be free'd separately.
     30 //
     31 // The return value is built like so:
     32 //
     33 //   char** rv = (char**) calloc(N + 1, sizeof(char*));
     34 //   rv[0] = strdup("a");
     35 //   rv[1] = strdup("b");
     36 //   rv[2] = strdup("c");
     37 //   ...
     38 //   rv[N] = NULL;
     39 //
     40 MOJO_TEST_SUPPORT_EXPORT
     41 char** MojoTestSupportEnumerateSourceRootRelativeDirectory(
     42     const char* source_root_relative_path);
     43 
     44 #ifdef __cplusplus
     45 }  // extern "C"
     46 #endif
     47 
     48 #endif  // MOJO_PUBLIC_C_TEST_SUPPORT_TEST_SUPPORT_H_
     49