tree: 466ae9fff56701d4d6e2441c15632f955ed08cb0 [path history] [tgz]
  1. BUILD.gn
  2. defs.h
  3. README.md
  4. story_shell_test_story_shell.cc
  5. story_shell_test_user_shell.cc
tests/story_shell/README.md

story_shell test

This test executes the story shell. Below is the sequence of actions and verifications. All actions and verifications are driven by the user shell. The story shell just responds.

  • Create a story and start it.
  • Add a top level module to the story. The module is specified by an intent. The intent is resolved to a module that possesses a manifest. The manifest specifies a composition pattern.
  • We verify that the story shell receives the notification that the module has started, including the manifest.
  • Stop the story. Start the story again.
  • We verify that the story shell receives the same notification about the started module as before, including the manifest.

We also verify that the story receives the manifest regardless of how the intent we use to add the module is resolved, i.e. regardless of whether it specifies the action or the package of the module. For that, we run the whole sequence above again, but use intents that specify handlers rather than actions to add the modules.

For each event we would like to verify, the story shell writes to TestStore using Put(). The user shell uses Get() to register handlers for the keys it expects the story shell to Put(), and continues when it has seen all the keys.