Home | History | Annotate | Download | only in perf
      1 // Copyright (c) 2013 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_PERF_PERF_UI_TEST_SUITE_H_
      6 #define CHROME_TEST_PERF_PERF_UI_TEST_SUITE_H_
      7 
      8 #include "base/files/scoped_temp_dir.h"
      9 #include "chrome/test/ui/ui_test_suite.h"
     10 
     11 namespace base {
     12 class FilePath;
     13 }
     14 
     15 // UITestSuite which creates two testing profiles at Initialize() time. We
     16 // create fake profiles so we don't commit 10-20 megabytes of binary data to
     17 // the repository each time we change the history format (or even worse, don't
     18 // update the test profiles and have incorrect performance data!)
     19 class PerfUITestSuite : public UITestSuite {
     20  public:
     21   PerfUITestSuite(int argc, char** argv);
     22   virtual ~PerfUITestSuite();
     23 
     24   // Profile theme type choices.
     25   enum ProfileType {
     26     DEFAULT_THEME = 0,
     27     COMPLEX_THEME = 1,
     28   };
     29 
     30   // Returns the directory name where the "typical" user data is that we use
     31   // for testing.
     32   static base::FilePath GetPathForProfileType(ProfileType profile_type);
     33 
     34   // Overridden from UITestSuite:
     35   virtual void Initialize() OVERRIDE;
     36 
     37  private:
     38   // Builds a "Cached Theme.pak" file in |extension_base|.
     39   void BuildCachedThemePakIn(const base::FilePath& extension_base);
     40 
     41   base::ScopedTempDir default_profile_dir_;
     42   base::ScopedTempDir complex_profile_dir_;
     43 };
     44 
     45 #endif  // CHROME_TEST_PERF_PERF_UI_TEST_SUITE_H_
     46