Home | History | Annotate | Download | only in test
      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 // The test scrubber cleans up machine state between tests.  This includes
      6 // killing all Internet Explorer processes, killing all Chrome processes spawned
      7 // by Chrome Frame, and deleting the user data directory.  The scrubber must be
      8 // installed before tests are run via |InstallTestScrubber|.
      9 //
     10 // Tests that lead to Chrome using a user data directory other than that used by
     11 // Chrome Frame in IE must provide that directory to the scrubber via
     12 // |OverrideDataDirectoryForThisTest()|.  Failure to do so will lead to the
     13 // scrubber failing to delete that directory.
     14 
     15 #ifndef CHROME_FRAME_TEST_TEST_SCRUBBER_H_
     16 #define CHROME_FRAME_TEST_TEST_SCRUBBER_H_
     17 
     18 #include "base/strings/string_piece.h"
     19 
     20 namespace testing {
     21 class UnitTest;
     22 }
     23 
     24 namespace chrome_frame_test {
     25 
     26 // Install the scrubber in |unit_test| (call before RUN_ALL_TESTS).
     27 void InstallTestScrubber(testing::UnitTest* unit_test);
     28 
     29 // Override the user data directory that will be deleted by the scrubber at the
     30 // completion of the current test.
     31 void OverrideDataDirectoryForThisTest(const base::StringPiece16& user_data_dir);
     32 
     33 }  // namespace chrome_frame_test
     34 
     35 #endif  // CHROME_FRAME_TEST_TEST_SCRUBBER_H_
     36