• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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