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