0708e6476f
This gives a more useful summary, sorted by descending % coverage, after the tests have run. The final numbers will give an idea if our coverage is getting better or worse. To keep the width sane we need to post process the file that the old gcovr tool generates. This is done with a mix of sed, awk and column in the scripts/coverage-summary.sh script. As quite a lot of lines don't get covered at all we filter out all the 0% lines. If the file doesn't appear it is not being exercised. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
172 lines
5.4 KiB
YAML
172 lines
5.4 KiB
YAML
# The current Travis default is a container based 14.04 Trust on EC2
|
|
# Additional builds with specific requirements for a full VM need to
|
|
# be added as additional matrix: entries later on
|
|
sudo: false
|
|
dist: trusty
|
|
language: c
|
|
python:
|
|
- "2.6"
|
|
compiler:
|
|
- gcc
|
|
cache: ccache
|
|
addons:
|
|
apt:
|
|
packages:
|
|
# Build dependencies
|
|
- libaio-dev
|
|
- libattr1-dev
|
|
- libbrlapi-dev
|
|
- libcap-ng-dev
|
|
- libgcc-4.8-dev
|
|
- libgnutls-dev
|
|
- libgtk-3-dev
|
|
- libiscsi-dev
|
|
- liblttng-ust-dev
|
|
- libncurses5-dev
|
|
- libnfs-dev
|
|
- libnss3-dev
|
|
- libpixman-1-dev
|
|
- libpng12-dev
|
|
- librados-dev
|
|
- libsdl1.2-dev
|
|
- libseccomp-dev
|
|
- libspice-protocol-dev
|
|
- libspice-server-dev
|
|
- libssh2-1-dev
|
|
- liburcu-dev
|
|
- libusb-1.0-0-dev
|
|
- libvte-2.90-dev
|
|
- sparse
|
|
- uuid-dev
|
|
- gcovr
|
|
|
|
# The channel name "irc.oftc.net#qemu" is encrypted against qemu/qemu
|
|
# to prevent IRC notifications from forks. This was created using:
|
|
# $ travis encrypt -r "qemu/qemu" "irc.oftc.net#qemu"
|
|
notifications:
|
|
irc:
|
|
channels:
|
|
- secure: "F7GDRgjuOo5IUyRLqSkmDL7kvdU4UcH3Lm/W2db2JnDHTGCqgEdaYEYKciyCLZ57vOTsTsOgesN8iUT7hNHBd1KWKjZe9KDTZWppWRYVwAwQMzVeSOsbbU4tRoJ6Pp+3qhH1Z0eGYR9ZgKYAoTumDFgSAYRp4IscKS8jkoedOqM="
|
|
on_success: change
|
|
on_failure: always
|
|
env:
|
|
global:
|
|
- SRC_DIR="."
|
|
- BUILD_DIR="."
|
|
- TEST_CMD="make check"
|
|
- MAKEFLAGS="-j3"
|
|
matrix:
|
|
- CONFIG="--disable-system"
|
|
- CONFIG="--disable-user"
|
|
- CONFIG="--enable-debug --enable-debug-tcg"
|
|
- CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"
|
|
- CONFIG="--enable-modules --disable-linux-user"
|
|
- CONFIG="--with-coroutine=ucontext --disable-linux-user"
|
|
- CONFIG="--with-coroutine=sigaltstack --disable-linux-user"
|
|
git:
|
|
# we want to do this ourselves
|
|
submodules: false
|
|
before_install:
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update ; fi
|
|
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install libffi gettext glib pixman ; fi
|
|
- git submodule update --init --recursive capstone dtc ui/keycodemapdb
|
|
before_script:
|
|
- mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
|
|
- ${SRC_DIR}/configure ${CONFIG} || { cat config.log && exit 1; }
|
|
script:
|
|
- make ${MAKEFLAGS} && ${TEST_CMD}
|
|
matrix:
|
|
include:
|
|
# Test out-of-tree builds
|
|
- env: CONFIG="--enable-debug --enable-debug-tcg"
|
|
BUILD_DIR="out-of-tree/build/dir" SRC_DIR="../../.."
|
|
# Test with Clang for compile portability (Travis uses clang-5.0)
|
|
- env: CONFIG="--disable-system"
|
|
compiler: clang
|
|
- env: CONFIG="--disable-user"
|
|
compiler: clang
|
|
# gprof/gcov are GCC features
|
|
- env: CONFIG="--enable-gprof --enable-gcov --disable-pie --target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,mips-softmmu,mips64-softmmu,ppc64-softmmu,riscv64-softmmu,s390x-softmmu,x86_64-softmmu"
|
|
after_success:
|
|
- ${SRC_DIR}/scripts/travis/coverage-summary.sh
|
|
compiler: gcc
|
|
# We manually include builds which we disable "make check" for
|
|
- env: CONFIG="--enable-debug --enable-tcg-interpreter"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
# We don't need to exercise every backend with every front-end
|
|
- env: CONFIG="--enable-trace-backends=log,simple,syslog --disable-system"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG="--enable-trace-backends=ftrace --target-list=x86_64-softmmu"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG="--enable-trace-backends=ust --target-list=x86_64-softmmu"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG="--disable-tcg"
|
|
TEST_CMD=""
|
|
compiler: gcc
|
|
- env: CONFIG=""
|
|
os: osx
|
|
compiler: clang
|
|
# Python builds
|
|
- env: CONFIG="--target-list=x86_64-softmmu"
|
|
python:
|
|
- "3.0"
|
|
- env: CONFIG="--target-list=x86_64-softmmu"
|
|
python:
|
|
- "3.6"
|
|
# Using newer GCC with sanitizers
|
|
- addons:
|
|
apt:
|
|
update: true
|
|
sources:
|
|
# PPAs for newer toolchains
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
# Extra toolchains
|
|
- gcc-7
|
|
- g++-7
|
|
# Build dependencies
|
|
- libaio-dev
|
|
- libattr1-dev
|
|
- libbrlapi-dev
|
|
- libcap-ng-dev
|
|
- libgnutls-dev
|
|
- libgtk-3-dev
|
|
- libiscsi-dev
|
|
- liblttng-ust-dev
|
|
- libnfs-dev
|
|
- libncurses5-dev
|
|
- libnss3-dev
|
|
- libpixman-1-dev
|
|
- libpng12-dev
|
|
- librados-dev
|
|
- libsdl1.2-dev
|
|
- libseccomp-dev
|
|
- libspice-protocol-dev
|
|
- libspice-server-dev
|
|
- libssh2-1-dev
|
|
- liburcu-dev
|
|
- libusb-1.0-0-dev
|
|
- libvte-2.90-dev
|
|
- sparse
|
|
- uuid-dev
|
|
language: generic
|
|
compiler: none
|
|
env:
|
|
- COMPILER_NAME=gcc CXX=g++-7 CC=gcc-7
|
|
- CONFIG="--cc=gcc-7 --cxx=g++-7 --disable-pie --disable-linux-user"
|
|
- TEST_CMD=""
|
|
before_script:
|
|
- ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || { cat config.log && exit 1; }
|
|
- env:
|
|
- CONFIG="--disable-system --disable-docs"
|
|
- TEST_CMD="make check-tcg"
|
|
script:
|
|
- make ${MAKEFLAGS} && ${TEST_CMD} ${MAKEFLAGS}
|
|
sudo: required
|
|
dist: trusty
|
|
compiler: gcc
|