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 #ifdef __cplusplus
     13 extern "C" {
     14 #endif
     15 
     16 // |sub_test_name| is optional. If not null, it usually describes one particular
     17 // configuration of the test. For example, if |test_name| is "TestPacketRate",
     18 // |sub_test_name| could be "100BytesPerPacket".
     19 // When the perf data is visualized by the performance dashboard, data with
     20 // different |sub_test_name|s (but the same |test_name|) are depicted as
     21 // different traces on the same chart.
     22 void MojoTestSupportLogPerfResult(
     23     const char* test_name,
     24     const char* sub_test_name,
     25     double value,
     26     const char* units);
     27 
     28 // Opens a "/"-delimited file path relative to the source root.
     29 FILE* MojoTestSupportOpenSourceRootRelativeFile(
     30     const char* source_root_relative_path);
     31 
     32 // Enumerates a "/"-delimited directory path relative to the source root.
     33 // Returns only regular files. The return value is a heap-allocated array of
     34 // heap-allocated strings. Each must be free'd separately.
     35 //
     36 // The return value is built like so:
     37 //
     38 //   char** rv = (char**) calloc(N + 1, sizeof(char*));
     39 //   rv[0] = strdup("a");
     40 //   rv[1] = strdup("b");
     41 //   rv[2] = strdup("c");
     42 //   ...
     43 //   rv[N] = NULL;
     44 //
     45 char** MojoTestSupportEnumerateSourceRootRelativeDirectory(
     46     const char* source_root_relative_path);
     47 
     48 #ifdef __cplusplus
     49 }  // extern "C"
     50 #endif
     51 
     52 #endif  // MOJO_PUBLIC_C_TEST_SUPPORT_TEST_SUPPORT_H_
     53