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 14 namespace base { 15 class 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. 20 class 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 SetBrowserDirectory(const base::FilePath & browser_dir)32 void SetBrowserDirectory(const base::FilePath& browser_dir) { 33 browser_dir_ = browser_dir; 34 } 35 36 // Alternative path to browser binaries. 37 base::FilePath browser_dir_; 38 39 std::string stats_filename_; 40 scoped_ptr<base::StatsTable> stats_table_; 41 42 DISALLOW_COPY_AND_ASSIGN(ChromeTestSuite); 43 }; 44 45 #endif // CHROME_TEST_BASE_CHROME_TEST_SUITE_H_ 46