chrome_test_suite.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
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#ifndef CHROME_TEST_BASE_CHROME_TEST_SUITE_H_ 6#define CHROME_TEST_BASE_CHROME_TEST_SUITE_H_ 7 8#include <string> 9 10#include "base/files/file_path.h" 11#include "base/memory/scoped_ptr.h" 12#include "content/public/test/content_test_suite_base.h" 13 14namespace base { 15class StatsTable; 16} 17 18// Test suite for unit and browser tests. Creates services needed by both. 19// See also ChromeUnitTestSuite for additional services created for unit tests. 20class ChromeTestSuite : public content::ContentTestSuiteBase { 21 public: 22 ChromeTestSuite(int argc, char** argv); 23 virtual ~ChromeTestSuite(); 24 25 protected: 26 // base::TestSuite overrides: 27 virtual void Initialize() OVERRIDE; 28 virtual void Shutdown() OVERRIDE; 29 30 virtual content::ContentClient* CreateClientForInitialization() OVERRIDE; 31 32 // Should return true if the test suite will be running the full chrome 33 // browser, false if the test suite is unit tests. 34 virtual bool IsBrowserTestSuite() = 0; 35 36 void SetBrowserDirectory(const base::FilePath& browser_dir) { 37 browser_dir_ = browser_dir; 38 } 39 40 // Alternative path to browser binaries. 41 base::FilePath browser_dir_; 42 43 std::string stats_filename_; 44 scoped_ptr<base::StatsTable> stats_table_; 45 46 DISALLOW_COPY_AND_ASSIGN(ChromeTestSuite); 47}; 48 49#endif // CHROME_TEST_BASE_CHROME_TEST_SUITE_H_ 50