unittest_test_suite.cc revision f2477e01787aa58f445919b809d89e252beef54f
1// Copyright (c) 2012 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 "content/public/test/unittest_test_suite.h" 6 7#include "base/logging.h" 8#include "base/rand_util.h" 9#include "base/test/test_suite.h" 10#include "third_party/WebKit/public/platform/Platform.h" 11#include "third_party/WebKit/public/web/WebKit.h" 12 13namespace content { 14 15#if !defined(OS_IOS) 16// A stubbed out WebKit platform support impl. 17class UnitTestTestSuite::UnitTestWebKitPlatformSupport 18 : public blink::Platform { 19 public: 20 UnitTestWebKitPlatformSupport() {} 21 virtual ~UnitTestWebKitPlatformSupport() {} 22 virtual void cryptographicallyRandomValues(unsigned char* buffer, 23 size_t length) OVERRIDE { 24 base::RandBytes(buffer, length); 25 } 26 virtual const unsigned char* getTraceCategoryEnabledFlag( 27 const char* categoryName) { 28 // Causes tracing macros to be disabled. 29 static const unsigned char kEnabled = 0; 30 return &kEnabled; 31 } 32}; 33#endif // !OS_IOS 34 35UnitTestTestSuite::UnitTestTestSuite(base::TestSuite* test_suite) 36 : test_suite_(test_suite) { 37 DCHECK(test_suite); 38#if !defined(OS_IOS) 39 webkit_platform_support_.reset(new UnitTestWebKitPlatformSupport); 40 blink::initialize(webkit_platform_support_.get()); 41#endif 42} 43 44UnitTestTestSuite::~UnitTestTestSuite() { 45#if !defined(OS_IOS) 46 blink::shutdown(); 47#endif 48} 49 50int UnitTestTestSuite::Run() { 51 return test_suite_->Run(); 52} 53 54} // namespace content 55