[roll] Roll third_party/googletest Use the provided length in ConditionalPrintAsText

While ConditionalPrintAsText gets a char pointer and the string length, it used to only pass the pointer to operator<<. That does not work for strings that are not zero terminated, because operator<< has to resort to strlen, which happily overflows the string buffer.

This CL wraps the char pointer and the length in a string_view and passes that to operator<< to fix that issue.

PiperOrigin-RevId: 765137769
Original-Revision: 7427a6b5e3e04f895ecad5c647c94629fb2acdc0

Roller-URL: https://cr-buildbucket.appspot.com/build/8713447413813937281
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I62111be7ca029d18962ce83305ceac41a4085845
Reviewed-on: https://fuchsia-review.googlesource.com/c/sdk-samples/drivers/+/1289208
Commit-Queue: GI Roller <global-integration-roller@fuchsia-infra.iam.gserviceaccount.com>
1 file changed
tree: 5e8a95df4e60b544ccddb489b1777211d2852f2f
  1. manifests/
  2. scripts/
  3. src/
  4. third_party/
  5. tools/
  6. .bazelrc
  7. .clang-format
  8. .gitignore
  9. .gitmodules
  10. AUTHORS
  11. BUILD.bazel
  12. CONTRIBUTING.md
  13. driver-samples.code-workspace
  14. fuchsia_env.toml
  15. LICENSE
  16. OWNERS
  17. PATENTS
  18. README.md
  19. rollers.textproto
  20. shac.star
  21. shac.textproto
  22. WORKSPACE.bazel
README.md

Fuchsia samples using the Fuchsia SDK

This repository contains instructions and source code to build, package and run Fuchsia samples using only the Fuchsia SDK.

Set up and bootstrap the SDK driver samples repository

Clone this SDK driver samples repository on your host machine. This repository contains sample driver components and the Bazel-based Fuchsia SDK.

The tasks include:

  • Bootstrap the SDK driver samples repository.
  • Download the SDK toolchain to initialize the SDK environment.
  • Verify that you can run ffx commands.

Do the following:

  1. Open a terminal.

  2. In the terminal, change to your home directory:

    cd
    
  3. Clone the SDK driver samples repository:

    git clone https://fuchsia.googlesource.com/sdk-samples/drivers fuchsia-drivers --recurse-submodules
    

    This git clone command creates a new directory named fuchsia-drivers and clones the content of the SDK driver samples repository{:.external}.

  4. Go to the new directory:

    cd fuchsia-drivers
    
  5. Run the bootstrap script to install Bazel and other required dependencies:

    scripts/bootstrap.sh
    
  6. Download the SDK toolchain:

    tools/bazel build @fuchsia_sdk//:fuchsia_toolchain_sdk
    

    The first build may take a few minutes to download dependencies, such as Clang and Fuchsia IDK (which includes the ffx tool).

    When finished successfully, it prints output similar to the following:

    $ tools/bazel build @fuchsia_sdk//:fuchsia_toolchain_sdk
    ...
    INFO: Elapsed time: 23.608s, Critical Path: 0.03s
    INFO: 1 process: 1 internal.
    INFO: Build completed successfully, 1 total action
    
  7. To verify that you can use the ffx tool in your environment, run the following command:

    tools/ffx sdk version
    

    This command prints output similar to the following:

    $ tools/ffx sdk version
    14.20230811.2.1
    

    At this point, you only need to confirm that you can run ffx commands without error.

    Note: The output above shows the version 14.20230811.2.1, which indicates that this SDK was built and published on August 11, 2023.