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