[fint] Initialize zircon_extra_args

It needs to be initialized to an empty scope, if not already set, to
allow other GN args to concisely set values within the scope (e.g.
`zircon_extra_args.foo = "bar"`). A corresponding recipe change was
made in fxrev.dev/439695.

I also added a test to make sure that the GN args are correctly ordered:
`zircon_extra_args` must be set after all imports (some imported
files assume that it hasn't yet been set when they are loaded into the
args namespace) but before any other variables are set.

Making assertions about ordering made the `assertContains` (now renamed
to `assertSubset`) helper function significantly more complicated, so I
ended up writing tests for the test helper function itself.

Bug: 61997
Change-Id: Ibd45e5e27f23e859573461fc91bbf785cbbce7e1
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/443317
Reviewed-by: Gary Miguel <garymm@google.com>
Testability-Review: Gary Miguel <garymm@google.com>
Commit-Queue: Oliver Newman <olivernewman@google.com>
2 files changed
tree: 0f1da258e4732a3e4827f7e98744a27fe9a9d108
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. products/
  8. scripts/
  9. sdk/
  10. src/
  11. third_party/
  12. tools/
  13. zircon/
  14. .clang-format
  15. .clang-tidy
  16. .gitattributes
  17. .gitignore
  18. .gn
  19. .style.yapf
  20. AUTHORS
  21. BUILD.gn
  22. CODE_OF_CONDUCT.md
  23. CONTRIBUTING.md
  24. LICENSE
  25. OWNERS
  26. PATENTS
  27. README.md
  28. rustfmt.toml
README.md

Fuchsia

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.

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.