qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

run (1533B)


      1 #!/bin/bash
      2 #
      3 # Docker test runner
      4 #
      5 # Copyright (c) 2016 Red Hat Inc.
      6 #
      7 # Authors:
      8 #  Fam Zheng <famz@redhat.com>
      9 #
     10 # This work is licensed under the terms of the GNU GPL, version 2
     11 # or (at your option) any later version. See the COPYING file in
     12 # the top-level directory.
     13 
     14 if test -n "$V"; then
     15     set -x
     16 fi
     17 
     18 BASE="$(dirname $(realpath $0))"
     19 
     20 # Prepare the environment
     21 export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH
     22 
     23 if test -n "$J"; then
     24     export MAKEFLAGS="$MAKEFLAGS -j$J"
     25 fi
     26 
     27 # We are in the container so the whole file system belong to us
     28 export TEST_DIR=/tmp/qemu-test
     29 mkdir -p $TEST_DIR/{src,build,install}
     30 
     31 # Extract the source tarballs
     32 tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; }
     33 
     34 if test -n "$SHOW_ENV"; then
     35     if test -f /packages.txt; then
     36         echo "Packages installed:"
     37         cat /packages.txt
     38         echo
     39     fi
     40     echo "Environment variables:"
     41     env
     42     echo
     43 fi
     44 
     45 export QEMU_SRC="$TEST_DIR/src"
     46 export BUILD_DIR="$TEST_DIR/build"
     47 export INSTALL_DIR="$TEST_DIR/install"
     48 
     49 cd "$QEMU_SRC/tests/docker"
     50 
     51 CMD="./$@"
     52 
     53 if test -z "$DEBUG"; then
     54     exec $CMD
     55 fi
     56 
     57 # DEBUG workflow
     58 echo "* Prepared to run command:"
     59 echo "  $CMD"
     60 echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
     61 echo
     62 env bash --noprofile --norc
     63 
     64 if "$CMD"; then
     65     exit 0
     66 elif test -n "$DEBUG"; then
     67     echo "* Command failed:"
     68     echo "  $CMD"
     69     echo "* Hit Ctrl-D to exit"
     70     echo
     71     # Force error after shell exits
     72     env bash --noprofile --norc && exit 1
     73 else
     74     exit 1
     75 fi