xref: /qemu/tests/docker/run (revision b344aa9132e832127b7d740b5ae26ae9a2c453f0)
1*b344aa91SFam Zheng#!/bin/bash -e
2*b344aa91SFam Zheng#
3*b344aa91SFam Zheng# Docker test runner
4*b344aa91SFam Zheng#
5*b344aa91SFam Zheng# Copyright (c) 2016 Red Hat Inc.
6*b344aa91SFam Zheng#
7*b344aa91SFam Zheng# Authors:
8*b344aa91SFam Zheng#  Fam Zheng <famz@redhat.com>
9*b344aa91SFam Zheng#
10*b344aa91SFam Zheng# This work is licensed under the terms of the GNU GPL, version 2
11*b344aa91SFam Zheng# or (at your option) any later version. See the COPYING file in
12*b344aa91SFam Zheng# the top-level directory.
13*b344aa91SFam Zheng
14*b344aa91SFam Zheng# Prepare the environment
15*b344aa91SFam Zheng. /etc/profile || true
16*b344aa91SFam Zhengexport PATH=/usr/lib/ccache:$PATH
17*b344aa91SFam Zheng
18*b344aa91SFam Zhengif test -n "$J"; then
19*b344aa91SFam Zheng    export MAKEFLAGS="$MAKEFLAGS -j$J"
20*b344aa91SFam Zhengfi
21*b344aa91SFam Zheng
22*b344aa91SFam Zheng# We are in the container so the whole file system belong to us
23*b344aa91SFam Zhengexport TEST_DIR=/tmp/qemu-test
24*b344aa91SFam Zhengmkdir -p $TEST_DIR/{src,build,install}
25*b344aa91SFam Zheng
26*b344aa91SFam Zheng# Extract the source tarballs
27*b344aa91SFam Zhengtar -C $TEST_DIR/src -xzf qemu.tgz
28*b344aa91SFam Zhengfor p in dtc pixman; do
29*b344aa91SFam Zheng    if test -f $p.tgz; then
30*b344aa91SFam Zheng        tar -C $TEST_DIR/src/$p -xzf $p.tgz
31*b344aa91SFam Zheng        export FEATURES="$FEATURES $p"
32*b344aa91SFam Zheng    fi
33*b344aa91SFam Zhengdone
34*b344aa91SFam Zheng
35*b344aa91SFam Zhengexport QEMU_SRC="$TEST_DIR/src"
36*b344aa91SFam Zheng
37*b344aa91SFam Zhengcd "$QEMU_SRC/tests/docker"
38*b344aa91SFam Zheng
39*b344aa91SFam ZhengCMD="$QEMU_SRC/tests/docker/$@"
40*b344aa91SFam Zheng
41*b344aa91SFam Zhengif test -n "$DEBUG"; then
42*b344aa91SFam Zheng    echo "* Prepared to run command:"
43*b344aa91SFam Zheng    echo "  $CMD"
44*b344aa91SFam Zheng    echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
45*b344aa91SFam Zheng    echo
46*b344aa91SFam Zheng    $SHELL
47*b344aa91SFam Zhengfi
48*b344aa91SFam Zheng
49*b344aa91SFam Zhengif "$CMD"; then
50*b344aa91SFam Zheng    exit 0
51*b344aa91SFam Zhengelif test -n "$DEBUG"; then
52*b344aa91SFam Zheng    echo "* Command failed:"
53*b344aa91SFam Zheng    echo "  $CMD"
54*b344aa91SFam Zheng    echo "* Hit Ctrl-D to exit"
55*b344aa91SFam Zheng    echo
56*b344aa91SFam Zheng    # Force error after shell exits
57*b344aa91SFam Zheng    $SHELL && exit 1
58*b344aa91SFam Zhengfi
59