[flyweights] Address flakes on host.

These tests share a process on host, so we need the serial
annotation on every test case. That was missing from
utf8_and_bytestrings_share_the_cache which relies on counting items
in the global cache.

Also adds missing reset_global_cache() calls to new test cases.
Without this, host-side tests can have confusing results when one
failing test compromises the invariants of another.

Also changes the internal API for constructing a RawRepr to
require exclusive access to the cache so that reference counts
are guaranteed consistent. This is not a functional change given
the current constructors but is a useful guardrail as we refactor.

Multiply: flyweights
Change-Id: Ic00fc0d670fd21b9387217e9dcc7e9343cb592b5
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1203549
Fuchsia-Auto-Submit: Adam Perry <adamperry@google.com>
Reviewed-by: David Koloski <dkoloski@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
1 file changed
tree: 6618187e6c44183d975abf1370d4c5bb4a3a51b8
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. 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.