[roll] Roll fuchsia [ffx] Fix flake in ffx_emulator_common_lib_test

The test for download_and_extract has been flaking for some time,
because it actually calls out to CIPD and downloads and extracts a file
multiple times on each invocation. To stop this, this CL mocks out the
actual downloading and extraction, and just tests the code in HostTools
which coordinates the calls to CIPD.

We use the mockall and async_trait crates to define a new trait and
implementing struct around the existing CIPD code, then mock the CIPD
functions for the test. The mocks never make http calls, or extract any
files; rather we just ensure the calls themselves are made, and that
the HostTools code reacts correctly according to the return values of
those calls. By removing the test's dependency on CIPD and the network,
we expect this will resolve the flakiness entirely.

Original-Bug: 85945
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/599074
Original-Revision: f32816c9a69a437fcea86c1f7299377b5d25d653
GitOrigin-RevId: 8572f58c5b2964b45149da2695892840a220112d
Change-Id: Iad9b7ac98a491f2cb9eea57bbd3ab402d9e88f0a
1 file changed
tree: d85db0d002503c889d9a36ef79e2e48c1abec53e
  1. infra/
  2. third_party/
  3. firmware
  4. flower
  5. jiri.lock
  6. minimal
  7. prebuilts
  8. README.md
  9. stem
  10. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.