13568f98cSFam Zheng#!/bin/sh 23568f98cSFam Zheng# 33568f98cSFam Zheng# Common routines for docker test scripts. 43568f98cSFam Zheng# 53568f98cSFam Zheng# Copyright (c) 2016 Red Hat Inc. 63568f98cSFam Zheng# 73568f98cSFam Zheng# Authors: 83568f98cSFam Zheng# Fam Zheng <famz@redhat.com> 93568f98cSFam Zheng# 103568f98cSFam Zheng# This work is licensed under the terms of the GNU GPL, version 2 113568f98cSFam Zheng# or (at your option) any later version. See the COPYING file in 123568f98cSFam Zheng# the top-level directory. 133568f98cSFam Zheng 143568f98cSFam Zhengrequires() 153568f98cSFam Zheng{ 163568f98cSFam Zheng for c in $@; do 173568f98cSFam Zheng if ! echo "$FEATURES" | grep -wq -e "$c"; then 183568f98cSFam Zheng echo "Prerequisite '$c' not present, skip" 193568f98cSFam Zheng exit 0 203568f98cSFam Zheng fi 213568f98cSFam Zheng done 223568f98cSFam Zheng} 233568f98cSFam Zheng 24e4ce964dSAlex Bennéeconfigure_qemu() 253568f98cSFam Zheng{ 269445c28eSFam Zheng config_opts="--enable-werror \ 279445c28eSFam Zheng ${TARGET_LIST:+--target-list=${TARGET_LIST}} \ 2805790dafSFam Zheng --prefix=$INSTALL_DIR \ 2924e0131fSAlex Bennée $QEMU_CONFIGURE_OPTS $EXTRA_CONFIGURE_OPTS \ 309445c28eSFam Zheng $@" 319445c28eSFam Zheng echo "Configure options:" 329445c28eSFam Zheng echo $config_opts 330c153b4cSPhilippe Mathieu-Daudé $QEMU_SRC/configure $config_opts || \ 340c153b4cSPhilippe Mathieu-Daudé { cat config.log && test_fail "Failed to run 'configure'"; } 35e4ce964dSAlex Bennée} 36e4ce964dSAlex Bennée 37e4ce964dSAlex Bennéebuild_qemu() 38e4ce964dSAlex Bennée{ 39e4ce964dSAlex Bennée configure_qemu $@ 400c153b4cSPhilippe Mathieu-Daudé make $MAKEFLAGS 413568f98cSFam Zheng} 4282659e84SFam Zheng 433f9747a7SAlex Bennéecheck_qemu() 443f9747a7SAlex Bennée{ 453f9747a7SAlex Bennée # default to make check unless the caller specifies 463f9747a7SAlex Bennée if test -z "$@"; then 473f9747a7SAlex Bennée INVOCATION="check" 483f9747a7SAlex Bennée else 493f9747a7SAlex Bennée INVOCATION="$@" 503f9747a7SAlex Bennée fi 51*56c115a9SAlex Bennée 52*56c115a9SAlex Bennée if command -v gtester > /dev/null 2>&1 && \ 53*56c115a9SAlex Bennée gtester --version > /dev/null 2>&1; then 543f9747a7SAlex Bennée make $MAKEFLAGS $INVOCATION 55*56c115a9SAlex Bennée else 56*56c115a9SAlex Bennée echo "No working gtester, skipping make $INVOCATION" 57*56c115a9SAlex Bennée fi 583f9747a7SAlex Bennée} 593f9747a7SAlex Bennée 6082659e84SFam Zhengtest_fail() 6182659e84SFam Zheng{ 6282659e84SFam Zheng echo "$@" 6382659e84SFam Zheng exit 1 6482659e84SFam Zheng} 6582659e84SFam Zheng 6682659e84SFam Zhengprep_fail() 6782659e84SFam Zheng{ 6882659e84SFam Zheng echo "$@" 6982659e84SFam Zheng exit 2 7082659e84SFam Zheng} 7162838478SPaolo Bonzini 7262838478SPaolo Bonziniinstall_qemu() 7362838478SPaolo Bonzini{ 7462838478SPaolo Bonzini make install $MAKEFLAGS DESTDIR=$PWD/=destdir 7562838478SPaolo Bonzini ret=$? 7662838478SPaolo Bonzini rm -rf $PWD/=destdir 7762838478SPaolo Bonzini return $ret 7862838478SPaolo Bonzini} 79