[async][runtime] Adds an API to handle boot time in TestExecutor fakes

- Adds functions that allow reading and setting the fake boot time
  when running the test executor in fake time.
- Adds functions to adjust the offset between the fake boot time and
  the fake monotonic time.

I think maintaining a settable offset is the easiest way to use this API
compared vs having arbitrary settable clocks for both timelines.  For
example, a fixed offset allows waking all the necessary timers.

Furthermore, this emulates what happens in reality: boot clock will
drift from the monotonic clock when the device suspends, and in between
suspends, the offset between the readings will be constant.

Bug: 376770637
Change-Id: Idadb7a9617f456cf29bf26fc8a867bb8e5583a48
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1150415
Reviewed-by: Adam Perry <adamperry@google.com>
Commit-Queue: Filip Filmar <fmil@google.com>
Fuchsia-Auto-Submit: Filip Filmar <fmil@google.com>
5 files changed
tree: 662a1d0d8755ca76673ce1c6c56982efa29f9476
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. infra/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .editorconfig
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gitmodules
  21. .gn
  22. .ignore
  23. analysis_options.yaml
  24. AUTHORS
  25. BUILD.gn
  26. CODE_OF_CONDUCT.md
  27. CONTRIBUTING.md
  28. fuchsia.code-workspace
  29. LICENSE
  30. OWNERS
  31. PATENTS
  32. pyproject.toml
  33. pyrightconfig.json
  34. README.md
  35. rustfmt.toml
  36. shac.star
  37. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.