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