Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: ios/web/public/test/web_test.h

Issue 2666953003: [ios] Automatically fail any WebTest whose render process crashes. (Closed)
Patch Set: Add test. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ 5 #ifndef IOS_WEB_PUBLIC_TEST_WEB_TEST_H_
6 #define IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ 6 #define IOS_WEB_PUBLIC_TEST_WEB_TEST_H_
7 7
8 #include "ios/web/public/test/fakes/test_browser_state.h" 8 #include "ios/web/public/test/fakes/test_browser_state.h"
9 #include "ios/web/public/test/scoped_testing_web_client.h" 9 #include "ios/web/public/test/scoped_testing_web_client.h"
10 #include "ios/web/public/test/test_web_thread_bundle.h" 10 #include "ios/web/public/test/test_web_thread_bundle.h"
11 #include "testing/platform_test.h" 11 #include "testing/platform_test.h"
12 12
13 namespace web { 13 namespace web {
14 14
15 class BrowserState; 15 class BrowserState;
16 class RendererCrashObserver;
16 class TestWebClient; 17 class TestWebClient;
17 18
18 // A test fixture for web tests that need a minimum environment set up that 19 // A test fixture for web tests that need a minimum environment set up that
19 // mimics a web embedder. 20 // mimics a web embedder.
20 class WebTest : public PlatformTest { 21 class WebTest : public PlatformTest {
21 protected: 22 protected:
22 WebTest(); 23 WebTest();
23 ~WebTest() override; 24 ~WebTest() override;
24 25
25 // PlatformTest methods. 26 // PlatformTest methods.
26 void SetUp() override; 27 void SetUp() override;
27 void TearDown() override; 28 void TearDown() override;
28 29
29 // Returns the WebClient that is used for testing. 30 // Returns the WebClient that is used for testing.
30 TestWebClient* GetWebClient(); 31 TestWebClient* GetWebClient();
31 32
32 // Returns the BrowserState that is used for testing. 33 // Returns the BrowserState that is used for testing.
33 virtual BrowserState* GetBrowserState(); 34 virtual BrowserState* GetBrowserState();
34 35
36 // If called with |true|, prevents the test fixture from automatically failing
37 // when a render process crashes during the test. This is useful for tests
38 // that intentionally crash the render process.
Eugene But (OOO till 7-30) 2017/02/01 16:43:04 Would it be helpful to document that default state
rohitrao (ping after 24h) 2017/02/01 18:22:59 Done.
39 void AllowRenderProcessCrashesDuringTesting(bool allow);
Eugene But (OOO till 7-30) 2017/02/01 16:43:04 Should this be prefixed with Set (e.g. SetAllowsRe
rohitrao (ping after 24h) 2017/02/01 18:22:59 Done.
40
35 private: 41 private:
36 // The WebClient used in tests. 42 // The WebClient used in tests.
37 ScopedTestingWebClient web_client_; 43 ScopedTestingWebClient web_client_;
38 // The threads used for testing. 44 // The threads used for testing.
39 web::TestWebThreadBundle thread_bundle_; 45 web::TestWebThreadBundle thread_bundle_;
40 // The browser state used in tests. 46 // The browser state used in tests.
41 TestBrowserState browser_state_; 47 TestBrowserState browser_state_;
48
49 // Triggers test failures if a renderer process dies during the test.
50 std::unique_ptr<RendererCrashObserver> renderer_crash_observer_;
42 }; 51 };
43 52
44 } // namespace web 53 } // namespace web
45 54
46 #endif // IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ 55 #endif // IOS_WEB_PUBLIC_TEST_WEB_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698