| Index: chrome_frame/test/run_all_unittests.cc
|
| ===================================================================
|
| --- chrome_frame/test/run_all_unittests.cc (revision 0)
|
| +++ chrome_frame/test/run_all_unittests.cc (revision 0)
|
| @@ -0,0 +1,49 @@
|
| +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include <atlbase.h>
|
| +
|
| +#include "base/at_exit.h"
|
| +#include "base/platform_thread.h"
|
| +#include "base/process_util.h"
|
| +#include "base/test_suite.h"
|
| +#include "base/command_line.h"
|
| +#include "chrome/common/chrome_paths.h"
|
| +
|
| +#include "chrome_frame/test_utils.h"
|
| +
|
| +// To enable ATL-based code to run in this module
|
| +class ChromeFrameUnittestsModule
|
| + : public CAtlExeModuleT<ChromeFrameUnittestsModule> {
|
| +};
|
| +
|
| +ChromeFrameUnittestsModule _AtlModule;
|
| +
|
| +const wchar_t kNoRegistrationSwitch[] = L"no-registration";
|
| +
|
| +int main(int argc, char **argv) {
|
| + base::EnableTerminationOnHeapCorruption();
|
| + PlatformThread::SetName("ChromeFrame tests");
|
| +
|
| + TestSuite test_suite(argc, argv);
|
| +
|
| + // If mini_installer is used to register CF, we use the switch
|
| + // --no-registration to avoid repetitive registration.
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(kNoRegistrationSwitch)) {
|
| + return test_suite.Run();
|
| + } else {
|
| + // Register paths needed by the ScopedChromeFrameRegistrar.
|
| + chrome::RegisterPathProvider();
|
| +
|
| + // This will register the chrome frame in the build directory. It currently
|
| + // leaves that chrome frame registered once the tests are done. It must be
|
| + // constructed AFTER the TestSuite is created since TestSuites create THE
|
| + // AtExitManager.
|
| + // TODO(robertshield): Make these tests restore the original registration
|
| + // once done.
|
| + ScopedChromeFrameRegistrar registrar;
|
| +
|
| + return test_suite.Run();
|
| + }
|
| +}
|
|
|