mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 bf5b512cd4
			
		
	
	
		bf5b512cd4
		
	
	
	
	
		
			
			On some images SHELL is pointing at a limited /bin/sh which doesn't
understand noprofile/norc. Given the run script is running bash just
invoke it directly.
This fixes:
  $ make docker-test-build@IMAGE DEBUG=1
  [...]
  + echo '  ./test-build'
  ./test-build
  + echo '* Hit Ctrl-D to continue, or type '\''exit 1'\'' to abort'
  * Hit Ctrl-D to continue, or type 'exit 1' to abort
  + echo
  + /bin/sh --noprofile --norc
  /bin/sh: 0: Illegal option --
Fixes: 2b0c4fa13f
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
		
	
			
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # Docker test runner
 | |
| #
 | |
| # Copyright (c) 2016 Red Hat Inc.
 | |
| #
 | |
| # Authors:
 | |
| #  Fam Zheng <famz@redhat.com>
 | |
| #
 | |
| # This work is licensed under the terms of the GNU GPL, version 2
 | |
| # or (at your option) any later version. See the COPYING file in
 | |
| # the top-level directory.
 | |
| 
 | |
| if test -n "$V"; then
 | |
|     set -x
 | |
| fi
 | |
| 
 | |
| BASE="$(dirname $(readlink -e $0))"
 | |
| 
 | |
| # Prepare the environment
 | |
| export PATH=/usr/lib/ccache:/usr/lib64/ccache:$PATH
 | |
| 
 | |
| if test -n "$J"; then
 | |
|     export MAKEFLAGS="$MAKEFLAGS -j$J"
 | |
| fi
 | |
| 
 | |
| # We are in the container so the whole file system belong to us
 | |
| export TEST_DIR=/tmp/qemu-test
 | |
| mkdir -p $TEST_DIR/{src,build,install}
 | |
| 
 | |
| # Extract the source tarballs
 | |
| tar -C $TEST_DIR/src -xf $BASE/qemu.tar || { echo "Failed to untar source"; exit 2; }
 | |
| if test -f $TEST_DIR/src/Makefile; then
 | |
|     export FEATURES="$FEATURES dtc"
 | |
| fi
 | |
| 
 | |
| if test -n "$SHOW_ENV"; then
 | |
|     if test -f /packages.txt; then
 | |
|         echo "Packages installed:"
 | |
|         cat /packages.txt
 | |
|         echo
 | |
|     fi
 | |
|     echo "Environment variables:"
 | |
|     env
 | |
|     echo
 | |
| fi
 | |
| 
 | |
| export QEMU_SRC="$TEST_DIR/src"
 | |
| export BUILD_DIR="$TEST_DIR/build"
 | |
| export INSTALL_DIR="$TEST_DIR/install"
 | |
| 
 | |
| cd "$QEMU_SRC/tests/docker"
 | |
| 
 | |
| CMD="./$@"
 | |
| 
 | |
| if test -z "$DEBUG"; then
 | |
|     exec $CMD
 | |
| fi
 | |
| 
 | |
| # DEBUG workflow
 | |
| echo "* Prepared to run command:"
 | |
| echo "  $CMD"
 | |
| echo "* Hit Ctrl-D to continue, or type 'exit 1' to abort"
 | |
| echo
 | |
| env bash --noprofile --norc
 | |
| 
 | |
| if "$CMD"; then
 | |
|     exit 0
 | |
| elif test -n "$DEBUG"; then
 | |
|     echo "* Command failed:"
 | |
|     echo "  $CMD"
 | |
|     echo "* Hit Ctrl-D to exit"
 | |
|     echo
 | |
|     # Force error after shell exits
 | |
|     env bash --noprofile --norc && exit 1
 | |
| else
 | |
|     exit 1
 | |
| fi
 |