#!/bin/bash
export STANDALONE=yes
export ENVIRON_DEFAULT=yes
export HOST=$(uname -m | sed -e 's/i.86/i386/;s/arm.*/arm/;s/ppc64.*/ppc64/')
export PRETTY_PRINT_STACKS=no
export ARCH=arm64
export ARCH_NAME=aarch64
export PROCESSOR=cortex-a57
echo BUILD_HEAD=
trap 'rm -f $cleanup' EXIT
bin=`mktemp`
cleanup="$bin $cleanup"
base64 -d << 'BIN_EOF' | zcat > $bin || exit 2
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
BIN_EOF
chmod +x $bin
RUNTIME_arch_run=`mktemp`
cleanup="$RUNTIME_arch_run $cleanup"
base64 -d << 'BIN_EOF' | zcat > $RUNTIME_arch_run || exit 2
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
AaJdQPN3KwAA
BIN_EOF
chmod +x $RUNTIME_arch_run
exec {stdout}>&1
RUNTIME_log_stdout () { cat >&$stdout; }
RUNTIME_log_stderr () { cat >&2; }
: "${RUNTIME_arch_run?}"
: ${MAX_SMP:=$(getconf _NPROCESSORS_ONLN)}
: ${TIMEOUT:=90s}

PASS() { echo -ne "\e[32mPASS\e[0m"; }
SKIP() { echo -ne "\e[33mSKIP\e[0m"; }
FAIL() { echo -ne "\e[31mFAIL\e[0m"; }

extract_summary()
{
    local cr=$'\r'
    tail -3 | grep '^SUMMARY: ' | sed 's/^SUMMARY: /(/;s/'"$cr"'\{0,1\}$/)/'
}

# We assume that QEMU is going to work if it tried to load the kernel
premature_failure()
{
    local log="$(eval $(get_cmdline _NO_FILE_4Uhere_) 2>&1)"

    echo "$log" | grep "_NO_FILE_4Uhere_" |
        grep -q -e "could not \(load\|open\) kernel" -e "error loading" &&
        return 1

    RUNTIME_log_stderr <<< "$log"

    echo "$log"
    return 0
}

get_cmdline()
{
    local kernel=$1
    echo "TESTNAME=$testname TIMEOUT=$timeout ACCEL=$accel $RUNTIME_arch_run $kernel -smp $smp $opts"
}

skip_nodefault()
{
    [ "$run_all_tests" = "yes" ] && return 1
    [ "$STANDALONE" != "yes" ] && return 0

    while true; do
        read -r -p "Test marked not to be run by default, are you sure (y/N)? " yn
        case $yn in
            "Y" | "y" | "Yes" | "yes")
                return 1
                ;;
            "" | "N" | "n" | "No" | "no" | "q" | "quit" | "exit")
                return 0
                ;;
        esac
    done
}

function print_result()
{
    local status="$1"
    local testname="$2"
    local summary="$3"
    local reason="$4"

    if [ -z "$reason" ]; then
        echo "`$status` $testname $summary"
    else
        echo "`$status` $testname ($reason)"
    fi
}

function find_word()
{
    grep -Fq " $1 " <<< " $2 "
}

function run()
{
    local testname="$1"
    local groups="$2"
    local smp="$3"
    local kernel="$4"
    local opts="$5"
    local arch="$6"
    local check="${CHECK:-$7}"
    local accel="$8"
    local timeout="${9:-$TIMEOUT}" # unittests.cfg overrides the default

    if [ -z "$testname" ]; then
        return
    fi

    if [ -n "$only_tests" ] && ! find_word "$testname" "$only_tests"; then
        return
    fi

    if [ -n "$only_group" ] && ! find_word "$only_group" "$groups"; then
        return
    fi

    if [ -z "$only_group" ] && find_word nodefault "$groups" &&
            skip_nodefault; then
        print_result "SKIP" $testname "" "test marked as manual run only"
        return;
    fi

    if [ -n "$arch" ] && [ "$arch" != "$ARCH" ]; then
        print_result "SKIP" $testname "" "$arch only"
        return 2
    fi

    if [ -n "$accel" ] && [ -n "$ACCEL" ] && [ "$accel" != "$ACCEL" ]; then
        print_result "SKIP" $testname "" "$accel only, but ACCEL=$ACCEL"
        return 2
    elif [ -n "$ACCEL" ]; then
        accel="$ACCEL"
    fi

    # check a file for a particular value before running a test
    # the check line can contain multiple files to check separated by a space
    # but each check parameter needs to be of the form <path>=<value>
    for check_param in "${check[@]}"; do
        path=${check_param%%=*}
        value=${check_param#*=}
        if [ -f "$path" ] && [ "$(cat $path)" != "$value" ]; then
            print_result "SKIP" $testname "" "$path not equal to $value"
            return 2
        fi
    done

    last_line=$(premature_failure > >(tail -1)) && {
        print_result "SKIP" $testname "" "$last_line"
        return 77
    }

    cmdline=$(get_cmdline $kernel)
    if grep -qw "migration" <<<$groups ; then
        cmdline="MIGRATION=yes $cmdline"
    fi
    if [ "$verbose" = "yes" ]; then
        echo $cmdline
    fi

    # extra_params in the config file may contain backticks that need to be
    # expanded, so use eval to start qemu.  Use "> >(foo)" instead of a pipe to
    # preserve the exit status.
    summary=$(eval $cmdline 2> >(RUNTIME_log_stderr $testname) \
                             > >(tee >(RUNTIME_log_stdout $testname $kernel) | extract_summary))
    ret=$?
    [ "$STANDALONE" != "yes" ] && echo > >(RUNTIME_log_stdout $testname $kernel)

    if [ $ret -eq 0 ]; then
        print_result "PASS" $testname "$summary"
    elif [ $ret -eq 77 ]; then
        print_result "SKIP" $testname "$summary"
    elif [ $ret -eq 124 ]; then
        print_result "FAIL" $testname "" "timeout; duration=$timeout"
    elif [ $ret -gt 127 ]; then
        print_result "FAIL" $testname "" "terminated on SIG$(kill -l $(($ret - 128)))"
    else
        print_result "FAIL" $testname "$summary"
    fi

    return $ret
}

#
# Probe for MAX_SMP, in case it's less than the number of host cpus.
#
# This probing currently only works for ARM, as x86 bails on another
# error first. Also, this probing isn't necessary for any ARM hosts
# running kernels later than v4.3, i.e. those including ef748917b52
# "arm/arm64: KVM: Remove 'config KVM_ARM_MAX_VCPUS'". So, at some
# point when maintaining the while loop gets too tiresome, we can
# just remove it...
while $RUNTIME_arch_run _NO_FILE_4Uhere_ -smp $MAX_SMP \
		|& grep -qi 'exceeds max CPUs'; do
	MAX_SMP=$((MAX_SMP >> 1))
done
run its-migration its\ migration \$MAX_SMP $bin -machine\ gic-version=3\ -append\ \'its-migration\' arm64 '' kvm ''
