1 /* 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef WEBRTC_TEST_TEST_SUITE_H_ 12 #define WEBRTC_TEST_TEST_SUITE_H_ 13 14 // Derived from Chromium's src/base/test/test_suite.h. 15 16 // Defines a basic test suite framework for running gtest based tests. You can 17 // instantiate this class in your main function and call its Run method to run 18 // any gtest based tests that are linked into your executable. 19 20 #include "webrtc/base/constructormagic.h" 21 #include "webrtc/base/scoped_ptr.h" 22 23 namespace webrtc { 24 namespace test { 25 26 class TraceToStderr; 27 28 class TestSuite { 29 public: 30 TestSuite(int argc, char** argv); 31 virtual ~TestSuite(); 32 33 int Run(); 34 35 protected: 36 // Override these for custom initialization and shutdown handling. Use these 37 // instead of putting complex code in your constructor/destructor. 38 virtual void Initialize(); 39 virtual void Shutdown(); 40 41 RTC_DISALLOW_COPY_AND_ASSIGN(TestSuite); 42 43 private: 44 rtc::scoped_ptr<TraceToStderr> trace_to_stderr_; 45 }; 46 47 } // namespace test 48 } // namespace webrtc 49 50 #endif // TEST_TEST_SUITE_H_ 51