mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-25 05:03:05 +00:00
dc94a3b001
Use the recently stabilized coverage instrumentation feature of rust to generate coverage profiles of our test runs. These can then be used by a recipe to upload coverage to covecov or use tools locally to generate coverage reports. BUG=b:239255082 TEST=./tools/run_tests --generate-lcov coverage.lcov Change-Id: Ifc64d11f3ae19a2eb7fdce36172d67bf3f7e6d17 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3805831 Tested-by: Dennis Kempin <denniskempin@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Dennis Kempin <denniskempin@google.com>
69 lines
1.4 KiB
Bash
Executable file
69 lines
1.4 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Copyright 2021 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
set -ex
|
|
|
|
sudo apt-get update
|
|
sudo apt-get install --yes --no-install-recommends \
|
|
ca-certificates \
|
|
clang \
|
|
cloud-image-utils \
|
|
curl \
|
|
dpkg-dev \
|
|
expect \
|
|
gcc \
|
|
git \
|
|
jq \
|
|
libasound2-dev \
|
|
libavcodec-dev \
|
|
libavutil-dev \
|
|
libclang-dev \
|
|
libdbus-1-dev \
|
|
libdrm-dev \
|
|
libepoxy-dev \
|
|
libguestfs-tools \
|
|
libssl-dev \
|
|
libswscale-dev \
|
|
libudev-dev \
|
|
libva-dev \
|
|
libwayland-dev \
|
|
libxext-dev \
|
|
make \
|
|
nasm \
|
|
ninja-build \
|
|
openssh-client \
|
|
pkg-config \
|
|
python3 \
|
|
python3-pip \
|
|
python3-setuptools \
|
|
qemu-system-x86 \
|
|
rsync \
|
|
screen \
|
|
wine64 \
|
|
gcc-mingw-w64-x86-64-win32 \
|
|
wayland-protocols
|
|
|
|
pip3 install \
|
|
meson \
|
|
mdformat \
|
|
argh \
|
|
mypy \
|
|
black
|
|
|
|
rustup component add clippy
|
|
rustup component add rustfmt
|
|
|
|
# LLVM tools are used to generate and process coverage files
|
|
rustup component add llvm-tools-preview
|
|
|
|
rustup target add x86_64-pc-windows-gnu
|
|
|
|
# The bindgen tool is required to build a crosvm dependency.
|
|
cargo install bindgen
|
|
|
|
# binutils are wrappers to call the rustup bundled versions of llvm tools.
|
|
cargo install cargo-binutils
|
|
|
|
# Install dependencies used to generate mdbook documentation.
|
|
$(dirname "$0")/install-docs-deps
|