[zircon] Clean up standalone test executable support

This revamps the standalone-test library and adds a companion
library maybe-standalone-test.  The core-tests code is cleaned up
to use these new APIs instead of ad hoc extern declarations and
manual weak symbol hacks.  Cases that require the standalone test
context are clearly distinguished from those that adapt to either
standalone or normally hosted contexts, by use of the standalone
vs maybe_standalone API namespaces.  The build rules are cleaned
up to ensure excess library dependencies are kept out of the the
core-tests-standalone executable.

Change-Id: I6638f91fb7c5cd83dc553ed938585e7b7666d463
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/697162
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Reviewed-by: Gianfranco Valentino <gevalentino@google.com>
Fuchsia-Auto-Submit: Roland McGrath <mcgrathr@google.com>
85 files changed
tree: f7489dd96e775876765dc645324386ca46280edc
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. rustfmt.toml
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.