summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/ssl/ssl_browser_tests.cc20
-rw-r--r--chrome/browser/views/find_bar_win_browsertest.cc (renamed from chrome/browser/views/find_bar_win_unittest.cc)6
-rw-r--r--chrome/chrome.sln70
-rw-r--r--chrome/test/browser/browser_tests_dll.vcproj304
-rw-r--r--chrome/test/browser/browser_tests_launcher.cc174
-rw-r--r--chrome/test/browser/browser_tests_launcher.vcproj160
-rw-r--r--chrome/test/browser/run_all_unittests.cc45
-rw-r--r--chrome/test/in_process_browser_test.cc11
-rw-r--r--chrome/test/unit/unittests.vcproj4
-rw-r--r--chrome/tools/build/win/browser_tests_dll.vsprops18
10 files changed, 793 insertions, 19 deletions
diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc
new file mode 100644
index 0000000..c2a49c4
--- /dev/null
+++ b/chrome/browser/ssl/ssl_browser_tests.cc
@@ -0,0 +1,20 @@
+// Copyright (c) 2009 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 "net/base/ssl_test_util.h"
+
+#include "chrome/test/in_process_browser_test.h"
+
+namespace {
+
+const wchar_t* const kDocRoot = L"chrome/test/data";
+
+class SSLBrowserTest : public InProcessBrowserTest {
+};
+
+} // namespace
+
+// TODO(jcampan): port SSLUITest to SSLBrowserTest.
+IN_PROC_BROWSER_TEST_F(SSLBrowserTest, TestHTTP) {
+}
diff --git a/chrome/browser/views/find_bar_win_unittest.cc b/chrome/browser/views/find_bar_win_browsertest.cc
index 2d50ff2..4cca160 100644
--- a/chrome/browser/views/find_bar_win_unittest.cc
+++ b/chrome/browser/views/find_bar_win_browsertest.cc
@@ -7,8 +7,8 @@
#include "chrome/browser/find_notification_details.h"
#include "chrome/browser/renderer_host/render_view_host.h"
#include "chrome/browser/tab_contents/tab_contents.h"
-#include "chrome/browser/tab_contents/web_contents.h"
#include "chrome/browser/tab_contents/tab_contents_view.h"
+#include "chrome/browser/tab_contents/web_contents.h"
#include "chrome/browser/views/find_bar_win.h"
#include "chrome/common/notification_service.h"
#include "chrome/test/in_process_browser_test.h"
@@ -159,9 +159,7 @@ std::string FocusedOnPage(WebContents* web_contents) {
// This tests the FindInPage end-state, in other words: what is focused when you
// close the Find box (ie. if you find within a link the link should be
// focused).
-// TODO(jcampan): This test needs to be enabled once Jay fixes the issues with
-// running two InProc browser tests that both start a web server (crashes).
-IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, DISABLED_FindInPageEndState) {
+IN_PROC_BROWSER_TEST_F(FindInPageControllerTest, FindInPageEndState) {
HTTPTestServer* server = StartHTTPServer();
// First we navigate to our special focus tracking page.
diff --git a/chrome/chrome.sln b/chrome/chrome.sln
index 7770602..eb92232 100644
--- a/chrome/chrome.sln
+++ b/chrome/chrome.sln
@@ -1434,6 +1434,58 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "v8_nosnapshot", "..\build\t
{EC8B7909-62AF-470D-A75D-E1D89C837142} = {EC8B7909-62AF-470D-A75D-E1D89C837142}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "browser_tests_dll", "test\browser\browser_tests_dll.vcproj", "{D7589D0D-304E-4589-85A4-153B7D84B07F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1832A374-8A74-4F9E-B536-69A699B3E165} = {1832A374-8A74-4F9E-B536-69A699B3E165}
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
+ {20A560A0-2CD0-4D9E-A58B-1F24B99C087A} = {20A560A0-2CD0-4D9E-A58B-1F24B99C087A}
+ {21E22961-22BF-4493-BD3A-868F93DA5179} = {21E22961-22BF-4493-BD3A-868F93DA5179}
+ {238CE175-76CE-4A25-A676-69D115885601} = {238CE175-76CE-4A25-A676-69D115885601}
+ {2A70CBF0-847E-4E3A-B926-542A656DC7FE} = {2A70CBF0-847E-4E3A-B926-542A656DC7FE}
+ {326E9795-E760-410A-B69A-3F79DB3F5243} = {326E9795-E760-410A-B69A-3F79DB3F5243}
+ {49909552-0B0C-4C14-8CF6-DB8A2ADE0934} = {49909552-0B0C-4C14-8CF6-DB8A2ADE0934}
+ {5597AD47-3494-4750-A235-4F9C2F864700} = {5597AD47-3494-4750-A235-4F9C2F864700}
+ {57823D8C-A317-4713-9125-2C91FDFD12D6} = {57823D8C-A317-4713-9125-2C91FDFD12D6}
+ {5916D37D-8C97-424F-A904-74E52594C2D6} = {5916D37D-8C97-424F-A904-74E52594C2D6}
+ {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA} = {5BF908A7-68FB-4A4B-99E3-8C749F1FE4EA}
+ {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65} = {5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65}
+ {625A8F11-2B4E-45B4-BD99-C6D629C606C0} = {625A8F11-2B4E-45B4-BD99-C6D629C606C0}
+ {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9} = {6EAD4A4B-2BBC-4974-8E45-BB5C16CC2AC9}
+ {6F9258E5-294F-47B2-919D-17FFE7A8B751} = {6F9258E5-294F-47B2-919D-17FFE7A8B751}
+ {7100F41F-868D-4E99-80A2-AF8E6574749D} = {7100F41F-868D-4E99-80A2-AF8E6574749D}
+ {7B219FAA-E360-43C8-B341-804A94EEFFAC} = {7B219FAA-E360-43C8-B341-804A94EEFFAC}
+ {7F0A70F6-BE3F-4C19-B435-956AB8F30BA4} = {7F0A70F6-BE3F-4C19-B435-956AB8F30BA4}
+ {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C} = {8423AF0D-4B88-4EBF-94E1-E4D00D00E21C}
+ {899F1280-3441-4D1F-BA04-CCD6208D9146} = {899F1280-3441-4D1F-BA04-CCD6208D9146}
+ {8C27D792-2648-4F5E-9ED0-374276327308} = {8C27D792-2648-4F5E-9ED0-374276327308}
+ {9301A569-5D2B-4D11-9332-B1E30AEACB8D} = {9301A569-5D2B-4D11-9332-B1E30AEACB8D}
+ {9E5416B9-B91B-4029-93F4-102C1AD5CAF4} = {9E5416B9-B91B-4029-93F4-102C1AD5CAF4}
+ {A508ADD3-CECE-4E0F-8448-2F5E454DF551} = {A508ADD3-CECE-4E0F-8448-2F5E454DF551}
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
+ {B95AB527-F7DB-41E9-AD91-EB51EE0F56BE} = {B95AB527-F7DB-41E9-AD91-EB51EE0F56BE}
+ {BF4F447B-72B5-4059-BE1B-F94337B1F385} = {BF4F447B-72B5-4059-BE1B-F94337B1F385}
+ {BFE8E2A7-3B3B-43B0-A994-3058B852DB8B} = {BFE8E2A7-3B3B-43B0-A994-3058B852DB8B}
+ {C564F145-9172-42C3-BFCB-6014CA97DBCD} = {C564F145-9172-42C3-BFCB-6014CA97DBCD}
+ {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09} = {C66B126D-0ECE-4CA2-B6DC-FA780AFBBF09}
+ {CAE2D1E6-3F19-492F-A35C-68AA7ACAD6D3} = {CAE2D1E6-3F19-492F-A35C-68AA7ACAD6D3}
+ {CD9CA56E-4E94-444C-87D4-58CA1E6F300D} = {CD9CA56E-4E94-444C-87D4-58CA1E6F300D}
+ {D5E8DCB2-9C61-446F-8BEE-B18CA0E0936E} = {D5E8DCB2-9C61-446F-8BEE-B18CA0E0936E}
+ {D9DDAF60-663F-49CC-90DC-3D08CC3D1B28} = {D9DDAF60-663F-49CC-90DC-3D08CC3D1B28}
+ {EC8B7909-62AF-470D-A75D-E1D89C837142} = {EC8B7909-62AF-470D-A75D-E1D89C837142}
+ {EF5E94AB-B646-4E5B-A058-52EF07B8351C} = {EF5E94AB-B646-4E5B-A058-52EF07B8351C}
+ {EFBB1436-A63F-4CD8-9E99-B89226E782EC} = {EFBB1436-A63F-4CD8-9E99-B89226E782EC}
+ {F4F4BCAA-EA59-445C-A119-3E6C29647A51} = {F4F4BCAA-EA59-445C-A119-3E6C29647A51}
+ {F54ABC59-5C00-414A-A9BA-BAF26D1699F0} = {F54ABC59-5C00-414A-A9BA-BAF26D1699F0}
+ {FA537565-7B03-4FFC-AF15-F7A979B72E22} = {FA537565-7B03-4FFC-AF15-F7A979B72E22}
+ {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED} = {FC0E1FD0-5DD7-4041-A1C9-CD3C376E4EED}
+ {FD683DD6-D9BF-4B1B-AB6D-A3AC03EDAA4D} = {FD683DD6-D9BF-4B1B-AB6D-A3AC03EDAA4D}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "browser_tests_launcher", "test\browser\browser_tests_launcher.vcproj", "{9B87804D-2502-480B-95AE-5A572CE91809}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1832A374-8A74-4F9E-B536-69A699B3E165} = {1832A374-8A74-4F9E-B536-69A699B3E165}
+ EndProjectSection
+EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcmalloc", "..\third_party\tcmalloc\tcmalloc.vcproj", "{C564F145-9172-42C3-BFCB-60FDEA124321}"
EndProject
Global
@@ -2124,6 +2176,14 @@ Global
{9946A048-043B-4F8F-9E07-9297B204714C}.Release|Mixed Platforms.Build.0 = Release|Win32
{9946A048-043B-4F8F-9E07-9297B204714C}.Release|Win32.ActiveCfg = Release|Win32
{9946A048-043B-4F8F-9E07-9297B204714C}.Release|Win32.Build.0 = Release|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Debug|Win32.Build.0 = Debug|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Release|Win32.ActiveCfg = Release|Win32
+ {9B87804D-2502-480B-95AE-5A572CE91809}.Release|Win32.Build.0 = Release|Win32
{9D13D9B8-6C28-42A7-935C-B769EBC55BAA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{9D13D9B8-6C28-42A7-935C-B769EBC55BAA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{9D13D9B8-6C28-42A7-935C-B769EBC55BAA}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -2538,6 +2598,14 @@ Global
{D703D7A0-EDC1-4FE6-9E22-56154155B24E}.Release|Mixed Platforms.Build.0 = Release|Win32
{D703D7A0-EDC1-4FE6-9E22-56154155B24E}.Release|Win32.ActiveCfg = Release|Win32
{D703D7A0-EDC1-4FE6-9E22-56154155B24E}.Release|Win32.Build.0 = Release|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Debug|Win32.Build.0 = Debug|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Release|Win32.ActiveCfg = Release|Win32
+ {D7589D0D-304E-4589-85A4-153B7D84B07F}.Release|Win32.Build.0 = Release|Win32
{D7A94F58-576A-45D9-A45F-EB87C63ABBB0}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{D7A94F58-576A-45D9-A45F-EB87C63ABBB0}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{D7A94F58-576A-45D9-A45F-EB87C63ABBB0}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -2858,6 +2926,7 @@ Global
{9055E088-25C6-47FD-87D5-D9DD9FD75C9F} = {1174D37F-6ABB-45DA-81B3-C631281273B7}
{9301A569-5D2B-4D11-9332-B1E30AEACB8D} = {97555540-8163-4D0F-BCAC-EFA0FFED3453}
{9946A048-043B-4F8F-9E07-9297B204714C} = {873D095E-150E-4262-8C41-2D8ED02F0F57}
+ {9B87804D-2502-480B-95AE-5A572CE91809} = {1174D37F-6ABB-45DA-81B3-C631281273B7}
{9D13D9B8-6C28-42A7-935C-B769EBC55BAA} = {2325D8C4-8EF5-42AC-8900-492225750DE4}
{9DA4FACA-4A4D-3A23-B349-475C2237F827} = {B353A6A5-9551-4B76-908E-0F0A9B31E4CE}
{9E5416B9-B91B-4029-93F4-102C1AD5CAF4} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA}
@@ -2911,6 +2980,7 @@ Global
{D5E8DCB2-9C61-446F-8BEE-B18CA0E0936E} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA}
{D6047981-23AE-4623-9373-514FDAFAE60F} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA}
{D703D7A0-EDC1-4FE6-9E22-56154155B24E} = {97555540-8163-4D0F-BCAC-EFA0FFED3453}
+ {D7589D0D-304E-4589-85A4-153B7D84B07F} = {1174D37F-6ABB-45DA-81B3-C631281273B7}
{D7A94F58-576A-45D9-A45F-EB87C63ABBB0} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA}
{D7ED06E8-6138-4CE3-A906-5EF1D9C804E0} = {EF78C1F9-AA17-4CA5-B6CB-39B37A73A3DA}
{D9DDAF60-663F-49CC-90DC-3D08CC3D1B28} = {B6867423-23BD-4588-9321-2D500F128A3D}
diff --git a/chrome/test/browser/browser_tests_dll.vcproj b/chrome/test/browser/browser_tests_dll.vcproj
new file mode 100644
index 0000000..8c1658f
--- /dev/null
+++ b/chrome/test/browser/browser_tests_dll.vcproj
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="browser_tests_dll"
+ ProjectGUID="{D7589D0D-304E-4589-85A4-153B7D84B07F}"
+ RootNamespace="browser_tests_dll"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ <ToolFile
+ RelativePath="..\..\tools\build\win\version.rules"
+ />
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(SolutionDir)..\build\common.vsprops;$(SolutionDir)..\build\debug.vsprops;$(SolutionDir)..\testing\using_gtest.vsprops;$(SolutionDir)installer\util\using_util.vsprops;$(SolutionDir)..\third_party\ffmpeg\using_ffmpeg.vsprops;$(SolutionDir)..\third_party\libpng\using_libpng.vsprops;$(SolutionDir)..\third_party\zlib\using_zlib.vsprops;$(SolutionDir)..\skia\using_skia.vsprops;$(SolutionDir)..\third_party\libxml\build\using_libxml.vsprops;$(SolutionDir)..\third_party\icu38\build\using_icu.vsprops;$(SolutionDir)..\third_party\npapi\using_npapi.vsprops;$(SolutionDir)tools\build\win\browser_tests_dll.vsprops;$(SolutionDir)tools\build\win\precompiled_wtl.vsprops"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="Version"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\browser_tests.dll"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(SolutionDir)..\build\common.vsprops;$(SolutionDir)..\testing\using_gtest.vsprops;$(SolutionDir)installer\util\using_util.vsprops;$(SolutionDir)..\third_party\ffmpeg\using_ffmpeg.vsprops;$(SolutionDir)..\third_party\libpng\using_libpng.vsprops;$(SolutionDir)..\third_party\zlib\using_zlib.vsprops;$(SolutionDir)..\skia\using_skia.vsprops;$(SolutionDir)..\third_party\libxml\build\using_libxml.vsprops;$(SolutionDir)..\third_party\icu38\build\using_icu.vsprops;$(SolutionDir)..\third_party\npapi\using_npapi.vsprops;$(SolutionDir)tools\build\win\browser_tests_dll.vsprops;$(SolutionDir)tools\build\win\precompiled_wtl.vsprops;$(SolutionDir)..\build\release.vsprops"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="Version"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\browser_tests.dll"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Common"
+ >
+ <File
+ RelativePath="..\unit\chrome_test_suite.h"
+ >
+ </File>
+ <File
+ RelativePath="..\in_process_browser_test.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\in_process_browser_test.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\tools\build\win\precompiled_wtl.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\tools\build\win\precompiled_wtl.h"
+ >
+ </File>
+ <File
+ RelativePath=".\run_all_unittests.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\ui_test_utils.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\ui_test_utils.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="TestSSL"
+ >
+ <File
+ RelativePath="..\..\browser\ssl\ssl_browser_tests.cc"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="resources"
+ >
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\aliasb.cur"
+ >
+ </File>
+ <File
+ RelativePath="$(OutDir)\grit_derived_sources\browser_resources.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\cell.cur"
+ >
+ </File>
+ <File
+ RelativePath="..\..\app\chrome_dll.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\app\chrome_dll_resource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\app\chrome_dll_version.rc.version"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\col_resize.cur"
+ >
+ </File>
+ <File
+ RelativePath="$(OutDir)\grit_derived_sources\common_resources.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\copy.cur"
+ >
+ </File>
+ <File
+ RelativePath="$(OutDir)\grit_derived_sources\debugger_resources.rc"
+ >
+ </File>
+ <File
+ RelativePath="$(OutDir)\obj\global_intermediate\net\net_resources.rc"
+ >
+ </File>
+ <File
+ RelativePath="$(OutDir)\grit_derived_sources\renderer_resources.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\data\resource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\data\resource.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\row_resize.cur"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\vertical_text.cur"
+ >
+ </File>
+ <File
+ RelativePath="$(OutDir)\grit_derived_sources\webkit_resources.rc"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\zoom_in.cur"
+ >
+ </File>
+ <File
+ RelativePath="..\..\..\webkit\glue\resources\zoom_out.cur"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="TestFindInPage"
+ >
+ <File
+ RelativePath="..\..\browser\views\find_bar_win_browsertest.cc"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/chrome/test/browser/browser_tests_launcher.cc b/chrome/test/browser/browser_tests_launcher.cc
new file mode 100644
index 0000000..34ec60c
--- /dev/null
+++ b/chrome/test/browser/browser_tests_launcher.cc
@@ -0,0 +1,174 @@
+// Copyright (c) 2009 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 <windows.h>
+
+#include <vector>
+
+#include "base/command_line.h"
+#include "base/logging.h"
+#include "base/process_util.h"
+#include "base/string_util.h"
+
+namespace {
+
+const wchar_t* const kBrowserTestDLLName = L"browser_tests.dll";
+const wchar_t* const kGTestListTestsFlag = L"gtest_list_tests";
+}
+
+// TestEnvContext takes care of loading/unloading the DLL containing the tests.
+class TestEnvContext {
+ public:
+ TestEnvContext()
+ : module_(NULL),
+ run_test_proc_(NULL) {
+ }
+
+ ~TestEnvContext() {
+ if (!module_)
+ return;
+ BOOL r = ::FreeLibrary(module_);
+ DCHECK(r);
+ LOG(INFO) << "Unloaded " << kBrowserTestDLLName;
+ }
+
+ bool Init() {
+ module_ = ::LoadLibrary(kBrowserTestDLLName);
+ if (!module_) {
+ LOG(ERROR) << "Failed to find " << kBrowserTestDLLName;
+ return false;
+ }
+
+ run_test_proc_ = reinterpret_cast<RunTestProc>(
+ ::GetProcAddress(module_, "RunTests"));
+ if (!run_test_proc_) {
+ LOG(ERROR) <<
+ "Failed to find RunTest function in " << kBrowserTestDLLName;
+ return false;
+ }
+
+ return true;
+ }
+
+ // Returns true if the test succeeded, false if it failed.
+ bool RunTest(const std::string& test_name) {
+ std::string filter_flag = StringPrintf("--gtest_filter=%s",
+ test_name.c_str());
+ char* argv[2];
+ argv[0] = "";
+ argv[1] = const_cast<char*>(filter_flag.c_str());
+ return RunAsIs(2, argv) == 0;
+ }
+
+ // Calls-in to GTest with the arguments we were started with.
+ int RunAsIs(int argc, char** argv) {
+ return (run_test_proc_)(argc, argv);
+ }
+
+ private:
+ typedef int (__cdecl *RunTestProc)(int, char**);
+
+ HMODULE module_;
+ RunTestProc run_test_proc_;
+};
+
+// Retrieves the list of tests to run.
+// Simply uses the --gtest_list_tests option which honor the filter.
+// Sadly there is no dry-run option (or willingness to get such an option) in
+// GTest. So we'll have to process disabled and repeat options ourselves.
+bool GetTestList(const CommandLine& command_line,
+ std::vector<std::string>* test_list) {
+ DCHECK(!command_line.HasSwitch(kGTestListTestsFlag));
+
+ // Run ourselves with the --gtest_list_tests option and read the output.
+ std::wstring new_command_line = command_line.command_line_string() + L" --" +
+ kGTestListTestsFlag;
+ std::string output;
+ if (!base::GetAppOutput(new_command_line, &output))
+ return false;
+
+ // Now let's parse the returned output.
+ // It looks like:
+ // TestCase.
+ // Test1
+ // Test2
+ // OtherTestCase.
+ // FooTest
+ // ...
+ std::vector<std::string> lines;
+ SplitString(output, '\n', &lines);
+
+ std::string test_case;
+ for (std::vector<std::string>::const_iterator iter = lines.begin();
+ iter != lines.end(); ++iter) {
+ std::string line = *iter;
+ if (line.empty())
+ continue; // Just ignore empty lines if any.
+
+ if (line[line.size() - 1] == '.') {
+ // This is a new test case.
+ test_case = line;
+ continue;
+ }
+ // We are dealing with a test.
+ test_list->push_back(test_case + line);
+ }
+ return true;
+}
+
+int main(int argc, char** argv) {
+ CommandLine::Init(argc, argv);
+ const CommandLine* command_line = CommandLine::ForCurrentProcess();
+
+ if (command_line->HasSwitch(kGTestListTestsFlag)) {
+ TestEnvContext test_context;
+ if (!test_context.Init())
+ return 1;
+ return test_context.RunAsIs(argc, argv);
+ }
+
+ // First let's get the list of tests we need to run.
+ std::vector<std::string> test_list;
+ if (!GetTestList(*command_line, &test_list)) {
+ printf("Failed to retrieve the tests to run.\n");
+ return 0;
+ }
+
+ if (test_list.empty()) {
+ printf("No tests to run.\n");
+ return 0;
+ }
+
+ // Run the tests.
+ int test_run_count = 0;
+ std::vector<std::string> failed_tests;
+ for (std::vector<std::string>::const_iterator iter = test_list.begin();
+ iter != test_list.end(); ++iter) {
+ std::string test_name = *iter;
+ TestEnvContext test_context;
+ if (!test_context.Init())
+ return 1;
+ test_run_count++;
+ if (!test_context.RunTest(test_name.c_str())) {
+ if (std::find(failed_tests.begin(), failed_tests.end(), test_name) ==
+ failed_tests.end()) {
+ failed_tests.push_back(*iter);
+ }
+ }
+ }
+
+ printf("%d test%s run\n", test_run_count, test_run_count > 1 ? "s" : "");
+ printf("%d test%s failed\n", failed_tests.size(),
+ failed_tests.size() > 1 ? "s" : "");
+ if (failed_tests.empty())
+ return 0;
+
+ printf("Failing tests:\n");
+ for (std::vector<std::string>::const_iterator iter = failed_tests.begin();
+ iter != failed_tests.end(); ++iter) {
+ printf("%s\n", iter->c_str());
+ }
+
+ return 1;
+}
diff --git a/chrome/test/browser/browser_tests_launcher.vcproj b/chrome/test/browser/browser_tests_launcher.vcproj
new file mode 100644
index 0000000..ee1c651
--- /dev/null
+++ b/chrome/test/browser/browser_tests_launcher.vcproj
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="browser_tests_launcher"
+ ProjectGUID="{9B87804D-2502-480B-95AE-5A572CE91809}"
+ RootNamespace="browser_tests_launcher"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ <ToolFile
+ RelativePath="..\..\tools\build\win\version.rules"
+ />
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(SolutionDir)..\build\common.vsprops;$(SolutionDir)..\build\debug.vsprops;$(SolutionDir)installer\util\using_util.vsprops"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="Version"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\browser_tests.exe"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(SolutionDir)..\build\common.vsprops;$(SolutionDir)..\build\release.vsprops;$(SolutionDir)installer\util\using_util.vsprops"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="Version"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="$(OutDir)\browser_tests.exe"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath=".\browser_tests_launcher.cc"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/chrome/test/browser/run_all_unittests.cc b/chrome/test/browser/run_all_unittests.cc
new file mode 100644
index 0000000..f8f7d57
--- /dev/null
+++ b/chrome/test/browser/run_all_unittests.cc
@@ -0,0 +1,45 @@
+// Copyright (c) 2009 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 "base/string_util.h"
+#include "chrome/test/unit/chrome_test_suite.h"
+
+#if defined(OS_WIN)
+#define DLLEXPORT __declspec(dllexport)
+#elif
+#define DLLEXPORT
+#endif
+
+// We use extern C for the prototype DLLEXPORT to avoid C++ name mangling.
+extern "C" {
+DLLEXPORT int __cdecl RunTests(int argc, char **argv) {
+ return ChromeTestSuite(argc, argv).Run();
+}
+}
+
+#if defined(OS_WIN)
+BOOL WINAPI DllMain(HINSTANCE dll_module, DWORD reason, LPVOID reserved) {
+ if (reason == DLL_PROCESS_DETACH) {
+ // The CRichEditCtrl (used by the omnibox) calls OleInitialize, but somehow
+ // does not always calls OleUninitialize, causing an unbalanced Ole
+ // initialization that triggers a DCHECK in ScopedOleInitializer the next
+ // time we run a test.
+ // This behavior has been seen on some Vista boxes, but not all of them.
+ // There is a flag to prevent Ole initialization in CRichEditCtrl (see
+ // http://support.microsoft.com/kb/238989), but it is set to 0 in recent
+ // Windows versions.
+ // This is a dirty hack to make sure the OleCount is back to 0 in all cases,
+ // so the next test will have Ole unitialized, as expected.
+
+ if (OleInitialize(NULL) == S_FALSE) {
+ // We were already initialized, balance that extra-initialization.
+ OleUninitialize();
+ }
+ // Balance the OleInitialize from the above test.
+ OleUninitialize();
+ }
+ return TRUE;
+}
+
+#endif
diff --git a/chrome/test/in_process_browser_test.cc b/chrome/test/in_process_browser_test.cc
index 1b454a3..4c68f57 100644
--- a/chrome/test/in_process_browser_test.cc
+++ b/chrome/test/in_process_browser_test.cc
@@ -44,15 +44,6 @@ bool DieFileDie(const std::wstring& file, bool recurse) {
return false;
}
-class ShadowingAtExitManager : public base::AtExitManager {
- public:
- ShadowingAtExitManager() : base::AtExitManager(true) {}
- virtual ~ShadowingAtExitManager() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ShadowingAtExitManager);
-};
-
} // namespace
InProcessBrowserTest::InProcessBrowserTest()
@@ -64,8 +55,6 @@ InProcessBrowserTest::InProcessBrowserTest()
}
void InProcessBrowserTest::SetUp() {
- ShadowingAtExitManager at_exit_manager;
-
// Cleanup the user data dir.
std::wstring user_data_dir;
PathService::Get(chrome::DIR_USER_DATA, &user_data_dir);
diff --git a/chrome/test/unit/unittests.vcproj b/chrome/test/unit/unittests.vcproj
index 631b37c..0dc8102 100644
--- a/chrome/test/unit/unittests.vcproj
+++ b/chrome/test/unit/unittests.vcproj
@@ -520,10 +520,6 @@
>
</File>
<File
- RelativePath="..\..\browser\views\find_bar_win_unittest.cc"
- >
- </File>
- <File
RelativePath="..\..\browser\importer\firefox_importer_unittest.cc"
>
</File>
diff --git a/chrome/tools/build/win/browser_tests_dll.vsprops b/chrome/tools/build/win/browser_tests_dll.vsprops
new file mode 100644
index 0000000..4498ca8
--- /dev/null
+++ b/chrome/tools/build/win/browser_tests_dll.vsprops
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="browser_tests_dll"
+ InheritedPropertySheets="$(SolutionDir)tools\build\win\unit_test.vsprops"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(IntDir)&quot;"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+</VisualStudioPropertySheet>