[roll] Roll fuchsia [bazel] Preparation CL for host_py_test() changes.

This CL provides many changes to prepare for another one that
will refactor how host_py_test() works.

First, the FuchsiaHostTestInfo provider gets a new key named
"list_cases_argument" which, when non-empty, will provide the
value passed to the tests.json entry for a Python host test.

This will need to be "list_host_python_unittests" in the future
to ensure that `fx test --list <test_name>` works properly for
Python host tests that include unittests.TestCase instances.

This optional value is passed to the final tests.json entries
generated by build_tests_json.py.

Second, host_test() gets three new attributes:

  - list_cases_argument: to provide the value described above,
    which will only be used for host_py_test() targets for
    now, but later will also be needed for the Bazel equivalent
    of python_mobly_test().

  - host_test_wrapper_generator_{args, deps}: are used to pass
    extra arguments to the host test wrapper generator script,
    where the arguments can include '$(location <label>)'
    expressions referring to labels from the dependencies.

    This will be used to specialize calls to the wrapper
    generator for Python host tests, as this will require
    a little bit of extra logic.

Third, the repository rule for @prebuilt_python ensures that
the name of the Python interpreter entry point is "python3"
instead of the current versioned "python3.11". This ensures
a stable file name. The CL also introduces a new
//build/bazel/rules/python:python_interpreter_as_test_data
target that makes the interpreter (and its runtime files)
available under test_data/ at runtime, which will be used
by the host_py_test() wrapper script too.

Original-Bug: 489398821
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1553360
Original-Revision: 0e089bb7ecd608a4de6e8621187a814f0e172723
GitOrigin-RevId: 5cb17a232e210f94f8e3fc008c766dc080f9bf9d
Change-Id: If2ffe7bfb2b3fb071705091a1d79911a824ebf20
1 file changed
tree: 3ff7fc63f2225fe45bc714488d11a7138414b5a7
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. 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 in one of the communication channels documented at get involved.

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.