tree b2fc69de639e6f121d424bac34b96ad65b47a6a0
parent 6692b4a6e14a0de83b234d156fe599d850768060
author Steffen Meschkat <mesch@google.com> 1545101442 -0800
committer Steffen Meschkat <mesch@google.com> 1545177071 -0800

[session_shell] Convert tests to use RequestStart().

This removes all use of Start() to start stories and replaces it
with RequestStart(), except from the session_shell test. That test
continues to exercise both ways to start stories until Start() is
removed altogether.

Move the existing implementation of SessionShell in the session_shell
test SessionShellImpl to a common location lib/testing where it can be
reused by other tests.

Create a common base class SessionShellBase for all test SessionShell
components that uniformly creates an instance of SessionShellImpl. Also
move setup of SessionShellContext and StoryProvider into the shared base
class, reducing boiler plate across tests.

Convert all test SessionShell components to use SessionShellBase.

Convert all test SessionShell components to use RequestStart() instead
of Start() to start stories. The SessionShellImpl instance in their
base classes handles the ensuiing AttachView() and DetachView calls.

Collateral cleanup:

* Simplify requests for PuppetMaster from environment.

* Uniformly use Signal() rather than Logout() to finish the test.

* Remove scheduling of timeouts that are redundant with the timeout
  in dev_base_shell.

* Remove redundant using declarations for TestPoint.

* Remove one unused declaration of Await.

* Convert component_context test to a sequential flow to
  avoid hitting timeouts, and for consistency with other tests.

* Convert component_context test to use Signal() and Await()
  rather than Get() and Put().

MF-121 #comment Convert tests to use RequestStart().

TESTED=/pkgfs/packages/modular_tests/0/test/run_modular_tests.sh
  Manually verified that without the SessionShellImpl, sessionmgr
  crashes in an FTL_CHECK() when the SessionShell uses RequestStart().

Change-Id: I145a9dfdd7a64ada7b63d56f125cb78c2ec351a7
