diff options
author | lukasza <lukasza@chromium.org> | 2015-12-01 08:36:42 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-01 16:37:50 +0000 |
commit | d6d82e45bc9d2c8c043a5446361c6b8701532328 (patch) | |
tree | 575213746814defcabbada87b7ab0bb7efcdb585 | |
parent | 97176368ff8be424d349132778d9c27624a1232d (diff) | |
download | chromium_src-d6d82e45bc9d2c8c043a5446361c6b8701532328.zip chromium_src-d6d82e45bc9d2c8c043a5446361c6b8701532328.tar.gz chromium_src-d6d82e45bc9d2c8c043a5446361c6b8701532328.tar.bz2 |
Fixing PhishingDOMFeatureExtractorTest and PhishingClassifierTest VS --isolate-extensions.
PhishingClassifierTest assumed that a given RenderFrame pointer stays
valid throughout navigations - this is not really true. I fixed the
test by creating a new PhishingClassifier (with a fresh RenderFrame
pointer) before every navigation - this has been accomplished be
splitting one test into five smaller, more granular tests.
Note: PhishingClassifierDelegateTest has a similar problem, but in
this test navigation seems to be a core part of the test - I am not
sure how to easily fix this test.
Both PhishingClassifierDelegateTest and PhishingDOMFeatureExtractorTest
were storing a render_view_routing_id and assuming that it stays valid
throughout navigfations - this is not really true. I changed both tests
to always get a fresh RenderFrame pointer via WebContents, so they don't
have to rely on a potentially stale routing id.
All 3 test suites use --single-process mode. This mode was crashing
early when combined with --site-per-process or --isolate-extensions -
the crash was in aec_dump_message_filter.cc(28) - check failed:
!g_filter. This is fixed by more aggressively requiring reuse of the
renderer process when --single-process mode is active - special thanks
to nick@ for pointing out the change needed in
render_process_host_impl.cc.
BUG=532666
Review URL: https://codereview.chromium.org/1469603002
Cr-Commit-Position: refs/heads/master@{#362433}
5 files changed, 117 insertions, 60 deletions
diff --git a/chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc b/chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc index 786e5d67e..49c9254 100644 --- a/chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc +++ b/chrome/renderer/safe_browsing/phishing_classifier_browsertest.cc @@ -46,7 +46,8 @@ class PhishingClassifierTest : public InProcessBrowserTest { : url_tld_token_net_(features::kUrlTldToken + std::string("net")), page_link_domain_phishing_(features::kPageLinkDomain + std::string("phishing.com")), - page_term_login_(features::kPageTerm + std::string("login")) { + page_term_login_(features::kPageTerm + std::string("login")), + page_text_(base::ASCIIToUTF16("login")) { } void SetUpCommandLine(base::CommandLine* command_line) override { @@ -108,6 +109,19 @@ class PhishingClassifierTest : public InProcessBrowserTest { base::Bind(&PhishingClassifierTest::HandleRequest, base::Unretained(this))); ASSERT_TRUE(embedded_test_server()->Start()); + + host_resolver()->AddRule("*", "127.0.0.1"); + + // No scorer yet, so the classifier is not ready. + ASSERT_FALSE(classifier_->is_ready()); + + // Now set the scorer. + classifier_->set_phishing_scorer(scorer_.get()); + ASSERT_TRUE(classifier_->is_ready()); + + // These tests don't exercise the extraction timing. + EXPECT_CALL(*clock_, Now()) + .WillRepeatedly(::testing::Return(base::TimeTicks::Now())); } void TearDownOnMainThread() override { @@ -196,6 +210,7 @@ class PhishingClassifierTest : public InProcessBrowserTest { const std::string url_tld_token_net_; const std::string page_link_domain_phishing_; const std::string page_term_login_; + const base::string16 page_text_; }; // This test flakes on Mac with force compositing mode. @@ -203,31 +218,20 @@ class PhishingClassifierTest : public InProcessBrowserTest { // Flaky on Chrome OS, running into a memory allocation error. // http://crbug.com/544085 #if defined(OS_MACOSX) || defined(OS_CHROMEOS) -#define MAYBE_TestClassification DISABLED_TestClassification +#define MAYBE_TestClassificationOfPhishingDotCom \ + DISABLED_TestClassificationOfPhishingDotCom #else -#define MAYBE_TestClassification TestClassification +#define MAYBE_TestClassificationOfPhishingDotCom \ + TestClassificationOfPhishingDotCom #endif -IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, MAYBE_TestClassification) { - host_resolver()->AddRule("*", "127.0.0.1"); - - // No scorer yet, so the classifier is not ready. - ASSERT_FALSE(classifier_->is_ready()); - - // Now set the scorer. - classifier_->set_phishing_scorer(scorer_.get()); - ASSERT_TRUE(classifier_->is_ready()); - - // This test doesn't exercise the extraction timing. - EXPECT_CALL(*clock_, Now()) - .WillRepeatedly(::testing::Return(base::TimeTicks::Now())); - - base::string16 page_text = base::ASCIIToUTF16("login"); +IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, + MAYBE_TestClassificationOfPhishingDotCom) { float phishy_score; FeatureMap features; LoadHtml("host.net", "<html><body><a href=\"http://phishing.com/\">login</a></body></html>"); - EXPECT_TRUE(RunPhishingClassifier(&page_text, &phishy_score, &features)); + EXPECT_TRUE(RunPhishingClassifier(&page_text_, &phishy_score, &features)); // Note: features.features() might contain other features that simply aren't // in the model. EXPECT_THAT(features.features(), @@ -235,11 +239,27 @@ IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, MAYBE_TestClassification) { Contains(Pair(page_link_domain_phishing_, 1.0)), Contains(Pair(page_term_login_, 1.0)))); EXPECT_FLOAT_EQ(0.5, phishy_score); +} + +// This test flakes on Mac with force compositing mode. +// http://crbug.com/316709 +// Flaky on Chrome OS, running into a memory allocation error. +// http://crbug.com/544085 +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +#define MAYBE_TestClassificationOfSafeDotCom \ + DISABLED_TestClassificationOfSafeDotCom +#else +#define MAYBE_TestClassificationOfSafeDotCom TestClassificationOfSafeDotCom +#endif +IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, + MAYBE_TestClassificationOfSafeDotCom) { + float phishy_score; + FeatureMap features; // Change the link domain to something non-phishy. LoadHtml("host.net", "<html><body><a href=\"http://safe.com/\">login</a></body></html>"); - EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); + EXPECT_FALSE(RunPhishingClassifier(&page_text_, &phishy_score, &features)); EXPECT_THAT(features.features(), AllOf(Contains(Pair(url_tld_token_net_, 1.0)), Contains(Pair(page_term_login_, 1.0)))); @@ -247,12 +267,43 @@ IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, MAYBE_TestClassification) { Not(Contains(Pair(page_link_domain_phishing_, 1.0)))); EXPECT_GE(phishy_score, 0.0); EXPECT_LT(phishy_score, 0.5); +} + +// This test flakes on Mac with force compositing mode. +// http://crbug.com/316709 +// Flaky on Chrome OS, running into a memory allocation error. +// http://crbug.com/544085 +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +#define MAYBE_TestClassificationWhenNoTld DISABLED_TestClassificationWhenNoTld +#else +#define MAYBE_TestClassificationWhenNoTld TestClassificationWhenNoTld +#endif +IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, + MAYBE_TestClassificationWhenNoTld) { + float phishy_score; + FeatureMap features; // Extraction should fail for this case since there is no TLD. LoadHtml("localhost", "<html><body>content</body></html>"); - EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); + EXPECT_FALSE(RunPhishingClassifier(&page_text_, &phishy_score, &features)); EXPECT_EQ(0U, features.features().size()); EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score); +} + +// This test flakes on Mac with force compositing mode. +// http://crbug.com/316709 +// Flaky on Chrome OS, running into a memory allocation error. +// http://crbug.com/544085 +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +#define MAYBE_TestClassificationWhenNotHttp \ + DISABLED_TestClassificationWhenNotHttp +#else +#define MAYBE_TestClassificationWhenNotHttp TestClassificationWhenNotHttp +#endif +IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, + MAYBE_TestClassificationWhenNotHttp) { + float phishy_score; + FeatureMap features; // Extraction should also fail for this case because the URL is not http. net::EmbeddedTestServer https_server(net::EmbeddedTestServer::TYPE_HTTPS); @@ -263,13 +314,30 @@ IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, MAYBE_TestClassification) { GURL test_url = https_server.GetURL("/title1.html"); ui_test_utils::NavigateToURL(browser(), test_url.ReplaceComponents(replace_host)); - EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); + EXPECT_FALSE(RunPhishingClassifier(&page_text_, &phishy_score, &features)); EXPECT_EQ(0U, features.features().size()); EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score); +} + +// This test flakes on Mac with force compositing mode. +// http://crbug.com/316709 +// Flaky on Chrome OS, running into a memory allocation error. +// http://crbug.com/544085 +#if defined(OS_MACOSX) || defined(OS_CHROMEOS) +#define MAYBE_TestClassificationWhenPostRequest \ + DISABLED_TestClassificationWhenPostRequest +#else +#define MAYBE_TestClassificationWhenPostRequest \ + TestClassificationWhenPostRequest +#endif +IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, + MAYBE_TestClassificationWhenPostRequest) { + float phishy_score; + FeatureMap features; // Extraction should fail for this case because the URL is a POST request. LoadHtmlPost("host.net", "<html><body>content</body></html>"); - EXPECT_FALSE(RunPhishingClassifier(&page_text, &phishy_score, &features)); + EXPECT_FALSE(RunPhishingClassifier(&page_text_, &phishy_score, &features)); EXPECT_EQ(0U, features.features().size()); EXPECT_EQ(PhishingClassifier::kInvalidScore, phishy_score); } @@ -281,11 +349,6 @@ IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, MAYBE_TestClassification) { #define MAYBE_DisableDetection DisableDetection #endif IN_PROC_BROWSER_TEST_F(PhishingClassifierTest, MAYBE_DisableDetection) { - // No scorer yet, so the classifier is not ready. - EXPECT_FALSE(classifier_->is_ready()); - - // Now set the scorer. - classifier_->set_phishing_scorer(scorer_.get()); EXPECT_TRUE(classifier_->is_ready()); // Set a NULL scorer, which turns detection back off. diff --git a/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc b/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc index 4109708..ce70b2b 100644 --- a/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc +++ b/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc @@ -25,12 +25,11 @@ #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/browser_message_filter.h" #include "content/public/browser/browser_thread.h" +#include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" -#include "content/public/browser/render_view_host.h" #include "content/public/browser/web_contents.h" #include "content/public/common/content_switches.h" #include "content/public/renderer/render_frame.h" -#include "content/public/renderer/render_view.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/test_navigation_observer.h" #include "content/public/test/test_utils.h" @@ -41,8 +40,6 @@ #include "testing/gmock/include/gmock/gmock.h" #include "third_party/WebKit/public/platform/WebURL.h" #include "third_party/WebKit/public/platform/WebURLRequest.h" -#include "third_party/WebKit/public/web/WebFrame.h" -#include "third_party/WebKit/public/web/WebView.h" #include "url/gurl.h" using base::ASCIIToUTF16; @@ -144,9 +141,6 @@ class PhishingClassifierDelegateTest : public InProcessBrowserTest { } protected: - PhishingClassifierDelegateTest() - : render_view_routing_id_(MSG_ROUTING_NONE) {} - void SetUpCommandLine(base::CommandLine* command_line) override { command_line->AppendSwitch(switches::kSingleProcess); #if defined(OS_WIN) @@ -157,12 +151,10 @@ class PhishingClassifierDelegateTest : public InProcessBrowserTest { void SetUpOnMainThread() override { intercepting_filter_ = new InterceptingMessageFilter(); - render_view_routing_id_ = - GetWebContents()->GetRenderViewHost()->GetRoutingID(); GetWebContents()->GetRenderProcessHost()->AddFilter( intercepting_filter_.get()); - content::RenderFrame* render_frame = GetRenderView()->GetMainRenderFrame(); + content::RenderFrame* render_frame = GetRenderFrame(); classifier_ = new StrictMock<MockPhishingClassifier>(render_frame); delegate_ = PhishingClassifierDelegate::Create(render_frame, classifier_); @@ -222,8 +214,12 @@ class PhishingClassifierDelegateTest : public InProcessBrowserTest { return browser()->tab_strip_model()->GetActiveWebContents(); } - content::RenderView* GetRenderView() { - return content::RenderView::FromRoutingID(render_view_routing_id_); + content::RenderFrame* GetRenderFrame() { + int render_frame_routing_id = + GetWebContents()->GetMainFrame()->GetRoutingID(); + content::RenderFrame* render_frame = + content::RenderFrame::FromRoutingID(render_frame_routing_id); + return render_frame; } // Returns the URL that was loaded. @@ -252,7 +248,6 @@ class PhishingClassifierDelegateTest : public InProcessBrowserTest { std::string response_content_; scoped_ptr<ClientPhishingRequest> verdict_; StrictMock<MockPhishingClassifier>* classifier_; // Owned by |delegate_|. - int32_t render_view_routing_id_; PhishingClassifierDelegate* delegate_; // Owned by the RenderView. scoped_refptr<content::MessageLoopRunner> runner_; }; diff --git a/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc b/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc index 1494c49..06414c3 100644 --- a/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc +++ b/chrome/renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc @@ -29,10 +29,10 @@ #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/interstitial_page.h" -#include "content/public/browser/render_view_host.h" +#include "content/public/browser/render_frame_host.h" #include "content/public/browser/web_contents.h" #include "content/public/common/content_switches.h" -#include "content/public/renderer/render_view.h" +#include "content/public/renderer/render_frame.h" #include "content/public/test/browser_test_utils.h" #include "content/public/test/test_utils.h" #include "net/dns/mock_host_resolver.h" @@ -42,8 +42,8 @@ #include "testing/gmock/include/gmock/gmock.h" #include "third_party/WebKit/public/platform/WebString.h" #include "third_party/WebKit/public/web/WebFrame.h" +#include "third_party/WebKit/public/web/WebLocalFrame.h" #include "third_party/WebKit/public/web/WebScriptSource.h" -#include "third_party/WebKit/public/web/WebView.h" using ::testing::DoAll; using ::testing::Invoke; @@ -66,8 +66,7 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { } protected: - PhishingDOMFeatureExtractorTest() - : render_view_routing_id_(MSG_ROUTING_NONE), weak_factory_(this) {} + PhishingDOMFeatureExtractorTest() : weak_factory_(this) {} ~PhishingDOMFeatureExtractorTest() override {} @@ -80,8 +79,6 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { } void SetUpOnMainThread() override { - render_view_routing_id_ = - GetWebContents()->GetRenderViewHost()->GetRoutingID(); extractor_.reset(new PhishingDOMFeatureExtractor(&clock_)); embedded_test_server()->RegisterRequestHandler( @@ -91,8 +88,8 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { host_resolver()->AddRule("*", "127.0.0.1"); } - // Runs the DOMFeatureExtractor on the RenderView, waiting for the - // completion callback. Returns the success boolean from the callback. + // Runs the DOMFeatureExtractor, waiting for the completion callback. + // Returns the success boolean from the callback. bool ExtractFeatures(FeatureMap* features) { success_ = false; PostTaskToInProcessRendererAndWait( @@ -103,9 +100,11 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { } blink::WebFrame* GetWebFrame() { - content::RenderView* render_view = - content::RenderView::FromRoutingID(render_view_routing_id_); - return render_view->GetWebView()->mainFrame(); + int render_frame_routing_id = + GetWebContents()->GetMainFrame()->GetRoutingID(); + content::RenderFrame* render_frame = + content::RenderFrame::FromRoutingID(render_frame_routing_id); + return render_frame->GetWebFrame(); } void ExtractFeaturesInternal(FeatureMap* features) { @@ -172,8 +171,6 @@ class PhishingDOMFeatureExtractorTest : public InProcessBrowserTest { return url; } - int32 render_view_routing_id_; - // Map of url -> response body for network requests from the renderer. // Any urls not in this map are served a 404 error. std::map<std::string, std::string> responses_; diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 04a1a13..3cf784d 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -2126,6 +2126,11 @@ RenderProcessHost* RenderProcessHost::FromID(int render_process_id) { bool RenderProcessHost::ShouldTryToUseExistingProcessHost( BrowserContext* browser_context, const GURL& url) { + // This needs to be checked first to ensure that --single-process + // and --site-per-process can be used together. + if (run_renderer_in_process()) + return true; + // If --site-per-process is enabled, do not try to reuse renderer processes // when over the limit. // TODO(nick): This is overly conservative and isn't launchable. Move this @@ -2135,9 +2140,6 @@ bool RenderProcessHost::ShouldTryToUseExistingProcessHost( if (SiteIsolationPolicy::AreCrossProcessFramesPossible()) return false; - if (run_renderer_in_process()) - return true; - // NOTE: Sometimes it's necessary to create more render processes than // GetMaxRendererProcessCount(), for instance when we want to create // a renderer process for a browser context that has no existing diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json index a74b419..bd43079 100644 --- a/testing/buildbot/chromium.fyi.json +++ b/testing/buildbot/chromium.fyi.json @@ -5705,7 +5705,7 @@ { "args": [ "--site-per-process", - "--gtest_filter=-BrowserTest.InterstitialCancelsGuestViewDialogs:BrowserTest.OtherRedirectsDontForkProcess:BrowserTest.WindowOpenClose:ChromeRenderProcessHostTest.*:ChromeRenderProcessHostTestWithCommandLine.*:DevToolsExperimentalExtensionTest.*:DevToolsExtensionTest.*:ErrorPageTest.*:ExtensionApiTest.ContentScriptOtherExtensions:ExtensionApiTest.Tabs2:ExtensionApiTest.TabsOnUpdated:ExtensionOptionsApiTest.ExtensionCanEmbedOwnOptions:ExtensionViewTest.*:IsolatedAppTest.*:MimeHandlerViewTest.*:*PDFExtensionTest.*:PhishingClassifierTest.*:PhishingDOMFeatureExtractorTest.*:PrerenderBrowserTest.*:ProcessManagementTest.*:RedirectTest.ClientEmptyReferer:ReferrerPolicyTest.HttpsRedirect:SSLUITest.TestGoodFrameNavigation:WebNavigationApiTest.CrossProcessFragment:WebNavigationApiTest.ServerRedirectSingleProcess:WebNavigationApiTest.CrossProcessHistory:WebViewDPITest.*:WebViewPluginTest.*:WebViewTest.AcceptTouchEvents:WebViewTest.IndexedDBIsolation:WebViewTest.ScreenCoordinates:WebViewTest.ContextMenusAPI_PreventDefault:WebViewTest.TestContextMenu:WebViewTest.NestedGuestContainerBounds:WebViewFocusTest.*:WebViewNewWindowTest.*:WebViewVisibilityTest.*:*.NavigateFromNTPToOptionsInSameTab:*.TabMove:*.WhitelistedExtension:*.NewTabPageURL:*.HomepageLocation:RestoreOnStartupPolicyTestInstance/RestoreOnStartupPolicyTest.RunTest*:PhishingClassifierDelegateTest.*:WebUIWebViewBrowserTest*:WebRtcBrowserTest.RunsAudioVideoWebRTCCallInTwoTabs:SingleProcessTracingBrowserTest.TestMemoryInfra" + "--gtest_filter=-BrowserTest.InterstitialCancelsGuestViewDialogs:BrowserTest.OtherRedirectsDontForkProcess:BrowserTest.WindowOpenClose:ChromeRenderProcessHostTest.*:ChromeRenderProcessHostTestWithCommandLine.*:DevToolsExperimentalExtensionTest.*:DevToolsExtensionTest.*:ErrorPageTest.*:ExtensionApiTest.ContentScriptOtherExtensions:ExtensionApiTest.Tabs2:ExtensionApiTest.TabsOnUpdated:ExtensionOptionsApiTest.ExtensionCanEmbedOwnOptions:ExtensionViewTest.*:IsolatedAppTest.*:MimeHandlerViewTest.*:*PDFExtensionTest.*:PhishingDOMFeatureExtractorTest.SubFrames:PrerenderBrowserTest.*:ProcessManagementTest.*:RedirectTest.ClientEmptyReferer:ReferrerPolicyTest.HttpsRedirect:SSLUITest.TestGoodFrameNavigation:WebNavigationApiTest.CrossProcessFragment:WebNavigationApiTest.ServerRedirectSingleProcess:WebNavigationApiTest.CrossProcessHistory:WebViewDPITest.*:WebViewPluginTest.*:WebViewTest.AcceptTouchEvents:WebViewTest.IndexedDBIsolation:WebViewTest.ScreenCoordinates:WebViewTest.ContextMenusAPI_PreventDefault:WebViewTest.TestContextMenu:WebViewTest.NestedGuestContainerBounds:WebViewFocusTest.*:WebViewNewWindowTest.*:WebViewVisibilityTest.*:*.NavigateFromNTPToOptionsInSameTab:*.TabMove:*.WhitelistedExtension:*.NewTabPageURL:*.HomepageLocation:RestoreOnStartupPolicyTestInstance/RestoreOnStartupPolicyTest.RunTest*:PhishingClassifierDelegateTest.*:WebUIWebViewBrowserTest*:WebRtcBrowserTest.RunsAudioVideoWebRTCCallInTwoTabs:SingleProcessTracingBrowserTest.TestMemoryInfra" ], "test": "browser_tests" }, @@ -5736,7 +5736,7 @@ { "args": [ "--site-per-process", - "--gtest_filter=-BrowserTest.InterstitialCancelsGuestViewDialogs:BrowserTest.OtherRedirectsDontForkProcess:BrowserTest.WindowOpenClose:ChromeRenderProcessHostTest.*:ChromeRenderProcessHostTestWithCommandLine.*:DevToolsExperimentalExtensionTest.*:DevToolsExtensionTest.*:ErrorPageTest.*:ExtensionApiTest.ContentScriptOtherExtensions:ExtensionApiTest.Tabs2:ExtensionApiTest.TabsOnUpdated:ExtensionOptionsApiTest.ExtensionCanEmbedOwnOptions:ExtensionViewTest.*:IsolatedAppTest.*:MimeHandlerViewTest.*:*PDFExtensionTest.*:PhishingClassifierTest.*:PhishingDOMFeatureExtractorTest.*:PrerenderBrowserTest.*:ProcessManagementTest.*:RedirectTest.ClientEmptyReferer:ReferrerPolicyTest.HttpsRedirect:SSLUITest.TestGoodFrameNavigation:WebNavigationApiTest.CrossProcessFragment:WebNavigationApiTest.ServerRedirectSingleProcess:WebNavigationApiTest.CrossProcessHistory:WebViewDPITest.*:WebViewPluginTest.*:WebViewTest.AcceptTouchEvents:WebViewTest.IndexedDBIsolation:WebViewTest.ScreenCoordinates:WebViewTest.ContextMenusAPI_PreventDefault:WebViewTest.TestContextMenu:WebViewTest.NestedGuestContainerBounds:WebViewFocusTest.*:WebViewNewWindowTest.*:WebViewVisibilityTest.*:*.NavigateFromNTPToOptionsInSameTab:*.TabMove:*.WhitelistedExtension:*.NewTabPageURL:*.HomepageLocation:RestoreOnStartupPolicyTestInstance/RestoreOnStartupPolicyTest.RunTest*:PhishingClassifierDelegateTest.*:WebUIWebViewBrowserTest*:WebRtcBrowserTest.RunsAudioVideoWebRTCCallInTwoTabs:SingleProcessTracingBrowserTest.TestMemoryInfra" + "--gtest_filter=-BrowserTest.InterstitialCancelsGuestViewDialogs:BrowserTest.OtherRedirectsDontForkProcess:BrowserTest.WindowOpenClose:ChromeRenderProcessHostTest.*:ChromeRenderProcessHostTestWithCommandLine.*:DevToolsExperimentalExtensionTest.*:DevToolsExtensionTest.*:ErrorPageTest.*:ExtensionApiTest.ContentScriptOtherExtensions:ExtensionApiTest.Tabs2:ExtensionApiTest.TabsOnUpdated:ExtensionOptionsApiTest.ExtensionCanEmbedOwnOptions:ExtensionViewTest.*:IsolatedAppTest.*:MimeHandlerViewTest.*:*PDFExtensionTest.*:PhishingDOMFeatureExtractorTest.SubFrames:PrerenderBrowserTest.*:ProcessManagementTest.*:RedirectTest.ClientEmptyReferer:ReferrerPolicyTest.HttpsRedirect:SSLUITest.TestGoodFrameNavigation:WebNavigationApiTest.CrossProcessFragment:WebNavigationApiTest.ServerRedirectSingleProcess:WebNavigationApiTest.CrossProcessHistory:WebViewDPITest.*:WebViewPluginTest.*:WebViewTest.AcceptTouchEvents:WebViewTest.IndexedDBIsolation:WebViewTest.ScreenCoordinates:WebViewTest.ContextMenusAPI_PreventDefault:WebViewTest.TestContextMenu:WebViewTest.NestedGuestContainerBounds:WebViewFocusTest.*:WebViewNewWindowTest.*:WebViewVisibilityTest.*:*.NavigateFromNTPToOptionsInSameTab:*.TabMove:*.WhitelistedExtension:*.NewTabPageURL:*.HomepageLocation:RestoreOnStartupPolicyTestInstance/RestoreOnStartupPolicyTest.RunTest*:PhishingClassifierDelegateTest.*:WebUIWebViewBrowserTest*:WebRtcBrowserTest.RunsAudioVideoWebRTCCallInTwoTabs:SingleProcessTracingBrowserTest.TestMemoryInfra" ], "test": "browser_tests" }, |