Home | History | Annotate | Download | only in base
      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 
     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