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_TESTS_TEST_SUPPORT_PRIVATE_H_ 6 #define MOJO_PUBLIC_TESTS_TEST_SUPPORT_PRIVATE_H_ 7 8 #include <stdio.h> 9 10 #include "mojo/public/c/test_support/test_support.h" 11 12 namespace mojo { 13 namespace test { 14 15 // Implementors of the test support APIs can use this interface to install their 16 // implementation into the mojo_test_support dynamic library. 17 class MOJO_TEST_SUPPORT_EXPORT TestSupport { 18 public: 19 virtual ~TestSupport(); 20 21 static void Init(TestSupport* test_support); 22 static TestSupport* Get(); 23 static void Reset(); 24 25 virtual void LogPerfResult(const char* test_name, 26 double value, 27 const char* units) = 0; 28 virtual FILE* OpenSourceRootRelativeFile(const char* relative_path) = 0; 29 virtual char** EnumerateSourceRootRelativeDirectory( 30 const char* relative_path) = 0; 31 }; 32 33 } // namespace test 34 } // namespace mojo 35 36 #endif // MOJO_PUBLIC_TESTS_TEST_SUPPORT_PRIVATE_H_ 37