commit | 62f83b5425cd3035364e93438cecdbbc231fca14 | [log] [tgz] |
---|---|---|
author | Yegor Pomortsev <ypomortsev@google.com> | Wed Jan 27 19:39:42 2021 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Wed Jan 27 19:39:42 2021 +0000 |
tree | 96ac5839654abe92e5853d2a71e242ca3bcbb5cf | |
parent | a9c2532da498b1e41762b087337620359fb88aea [diff] |
[modular] Fix DismissView callbacks not called when story is stopped When a story is stopped, StoryControllerImpl calls ViewController.Dimiss as part of the teardown, with a timeout. The Dismiss implementation is expected to close ViewController in respose. This change ensures: * Closing ViewController is not treated as an error when the story is being stopped * The story is not stopped again * ViewControllers and callbacks are cleaned up properly * FakeGraphicalPresenter closes ViewController on Dismiss to avoid a timeout causing slow teardown This also speeds up sessionmgr_integration_test by 10x+ for individual tests and 2x overall: Before (unaffected tests omitted): [==========] Running 10 tests from 2 test suites. [----------] Global test environment set-up. [----------] 9 tests from SessionmgrIntegrationTest [ RUN ] SessionmgrIntegrationTest.PresentViewIsCalled [ OK ] SessionmgrIntegrationTest.PresentViewIsCalled (3311 ms) [ RUN ] SessionmgrIntegrationTest.AnnotationsArePassedToGraphicalPresenter [ OK ] SessionmgrIntegrationTest.AnnotationsArePassedToGraphicalPresenter (3306 ms) [ RUN ] SessionmgrIntegrationTest.DeleteStoryWhenViewControllerIsClosed [ OK ] SessionmgrIntegrationTest.DeleteStoryWhenViewControllerIsClosed (6351 ms) ... [----------] 9 tests from SessionmgrIntegrationTest (25461 ms total) [==========] Running 10 tests from 2 test suites. [----------] Global test environment set-up. [----------] 9 tests from SessionmgrIntegrationTest [ RUN ] SessionmgrIntegrationTest.PresentViewIsCalled [ OK ] SessionmgrIntegrationTest.PresentViewIsCalled (245 ms) [ RUN ] SessionmgrIntegrationTest.AnnotationsArePassedToGraphicalPresenter [ OK ] SessionmgrIntegrationTest.AnnotationsArePassedToGraphicalPresenter (255 ms) [ RUN ] SessionmgrIntegrationTest.DeleteStoryWhenViewControllerIsClosed [ OK ] SessionmgrIntegrationTest.DeleteStoryWhenViewControllerIsClosed (256 ms) ... [----------] 9 tests from SessionmgrIntegrationTest (12909 ms total) Change-Id: I9c83d4b0b6b7c4ecd3dc2ccb38f7fa960de76ab1 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/475745 Commit-Queue: Yegor Pomortsev <ypomortsev@google.com> Reviewed-by: Gabe Schine <thatguy@google.com>
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.