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

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: Fix comment. 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
« no previous file with comments | « ios/web/BUILD.gn ('k') | ios/web/public/test/web_test.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 TestWebClient; 16 class TestWebClient;
17 class WebTestRenderProcessCrashObserver;
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. By default, the WebTest
39 // fixture will fail if a render process crashes.
40 void SetIgnoreRenderProcessCrashesDuringTesting(bool allow);
41
35 private: 42 private:
36 // The WebClient used in tests. 43 // The WebClient used in tests.
37 ScopedTestingWebClient web_client_; 44 ScopedTestingWebClient web_client_;
38 // The threads used for testing. 45 // The threads used for testing.
39 web::TestWebThreadBundle thread_bundle_; 46 web::TestWebThreadBundle thread_bundle_;
40 // The browser state used in tests. 47 // The browser state used in tests.
41 TestBrowserState browser_state_; 48 TestBrowserState browser_state_;
49
50 // Triggers test failures if a render process dies during the test.
51 std::unique_ptr<WebTestRenderProcessCrashObserver> crash_observer_;
42 }; 52 };
43 53
44 } // namespace web 54 } // namespace web
45 55
46 #endif // IOS_WEB_PUBLIC_TEST_WEB_TEST_H_ 56 #endif // IOS_WEB_PUBLIC_TEST_WEB_TEST_H_
OLDNEW
« no previous file with comments | « ios/web/BUILD.gn ('k') | ios/web/public/test/web_test.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698