[modular][testing] Rewrite the session_shell integration test with modular test harness.

See peridot/tests/session_shell/session_shell_test_session_shell.cc for
the test this is trying to replace.

A few things to note here:
- Factoring some of the boilerplate used to intercept the session shell
and initialize the mock into a helper function is a possibly
controversial choice. I think it's worthwhile here, since it's not
really necessary for understanding the test.

- The mock session shell used here is not in its final form, as noted in
the TODO. There is another issue (MF-389) that will refactor it into a
utility class.

- The final test, which tests whether DetachView() is called during
logout, is not implemented yet. It will probably add some significant
complexity / length since it will have to intercept and mock base shell, so I
decided to do that in a future change (this change is already too big).


Change-Id: I389d78b6db3c345e5f085826492dc390ce9f9fad
3 files changed
tree: c414e9cedfed50c593c1966a8433065c561a62ee
  1. .clang-format
  2. .clang-tidy
  3. .dir-locals.el
  4. .gitattributes
  5. .gitignore
  6. .gn
  8. BUILD.gn
  12. OWNERS
  14. README.md
  15. boards/
  16. build/
  17. buildtools/
  18. bundles/
  19. docs/
  20. examples/
  21. garnet/
  22. infra/
  23. peridot/
  24. products/
  25. rustfmt.toml
  26. scripts/
  27. sdk/
  28. src/
  29. third_party/
  30. tools/
  31. zircon/


Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

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.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.