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 20namespace testing { 21class UnitTest; 22} 23 24namespace 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.) 29void InstallTestLogCollector(testing::UnitTest* unit_test); 30 31} // namespace logging_win 32 33#endif // CHROME_TEST_LOGGING_WIN_TEST_LOG_COLLECTOR_H_ 34