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 log collector uses Event Tracing for Windows to collect all LOG() 6 // events at all levels (including all VLOG levels) from Chrome, Chrome Frame, 7 // and the test executable itself for each test into a temporary log file. At 8 // the conclusion of each test, the contents of the log file are regurgitated to 9 // stderr iff the test failed. In any case, the log file is promptly deleted. 10 // 11 // Test executables that wish to benefit from the collector's features (to 12 // produce verbose logs on test failure to aid in diagnosing flaky and/or 13 // failing tests, for example) must install the collector via 14 // |InstallTestLogCollector| before running tests (via RUN_ALL_TESTS(), 15 // TestSuite::Run(), etc). 16 17 #ifndef CHROME_TEST_LOGGING_WIN_TEST_LOG_COLLECTOR_H_ 18 #define CHROME_TEST_LOGGING_WIN_TEST_LOG_COLLECTOR_H_ 19 20 namespace testing { 21 class UnitTest; 22 } 23 24 namespace logging_win { 25 26 // Installs the test log collector into |unit_test| for its lifetime. 27 // (Use testing::UnitTest::GetInstance() to get the process-wide unit test 28 // instance.) 29 void InstallTestLogCollector(testing::UnitTest* unit_test); 30 31 } // namespace logging_win 32 33 #endif // CHROME_TEST_LOGGING_WIN_TEST_LOG_COLLECTOR_H_ 34