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 #include "mojo/public/tests/test_support_private.h" 6 7 #include <assert.h> 8 #include <stdio.h> 9 #include <stdlib.h> 10 11 static mojo::test::TestSupport* g_test_support = NULL; 12 13 extern "C" { 14 15 void MojoTestSupportLogPerfResult(const char* test_name, 16 const char* sub_test_name, 17 double value, 18 const char* units) { 19 if (g_test_support) { 20 g_test_support->LogPerfResult(test_name, sub_test_name, value, units); 21 } else { 22 if (sub_test_name) { 23 printf("[no test runner]\t%s/%s\t%g\t%s\n", test_name, sub_test_name, 24 value, units); 25 } else { 26 printf("[no test runner]\t%s\t%g\t%s\n", test_name, value, units); 27 } 28 } 29 } 30 31 FILE* MojoTestSupportOpenSourceRootRelativeFile(const char* relative_path) { 32 if (g_test_support) 33 return g_test_support->OpenSourceRootRelativeFile(relative_path); 34 printf("[no test runner]\n"); 35 return NULL; 36 } 37 38 char** MojoTestSupportEnumerateSourceRootRelativeDirectory( 39 const char* relative_path) { 40 if (g_test_support) 41 return g_test_support->EnumerateSourceRootRelativeDirectory(relative_path); 42 43 printf("[no test runner]\n"); 44 45 // Return empty list: 46 char** rv = static_cast<char**>(calloc(1, sizeof(char*))); 47 rv[0] = NULL; 48 return rv; 49 } 50 51 } // extern "C" 52 53 namespace mojo { 54 namespace test { 55 56 TestSupport::~TestSupport() { 57 } 58 59 // static 60 void TestSupport::Init(TestSupport* test_support) { 61 assert(!g_test_support); 62 g_test_support = test_support; 63 } 64 65 // static 66 TestSupport* TestSupport::Get() { 67 return g_test_support; 68 } 69 70 // static 71 void TestSupport::Reset() { 72 g_test_support = NULL; 73 } 74 75 } // namespace test 76 } // namespace mojo 77