 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: 2b0c4fa13f3 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
 |