On 2019/12/27 20:46, Andrew Jones wrote:
On Wed, Dec 25, 2019 at 01:38:53PM +0800, Haiwei Li wrote:
When i run ./run_tests.sh, i get output like this:
SKIP apic-split (qemu: could not open kernel file '_NO_FILE_4Uhere_': No
such file or directory)
SKIP ioapic-split (qemu: could not open kernel file '_NO_FILE_4Uhere_': No
such file or directory)
SKIP apic (qemu: could not open kernel file '_NO_FILE_4Uhere_': No such file
or directory)
......
Seems like the code below causing of "SKIP" above.
file: scripts/runtime.bash
# 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 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"
}
function run()
{
...
last_line=$(premature_failure > >(tail -1)) && {
print_result "SKIP" $testname "" "$last_line"
return 77
}
...
}
Is that proper? What can i do?
What i did:
1. git clone git://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git
2. cd kvm-unit-tests/
3. git checkout -b next origin/next
4. ./configure
5. make
6. ./run_test.sh
Related config file:
# cat config.mak
SRCDIR=/data/kvm-unit-tests
PREFIX=/usr/local
HOST=x86_64
ARCH=x86_64
ARCH_NAME=x86_64
PROCESSOR=x86_64
CC=gcc
CXX=g++
LD=ld
OBJCOPY=objcopy
OBJDUMP=objdump
AR=ar
ADDR2LINE=addr2line
API=yes
TEST_DIR=x86
FIRMWARE=
ENDIAN=
PRETTY_PRINT_STACKS=yes
ENVIRON_DEFAULT=yes
ERRATATXT=errata.txt
U32_LONG_FMT=
You need https://patchwork.kernel.org/patch/11284587/ for this issue. But
I just tried a latest qemu on x86 and see tests are hanging. So that may
not be enough to get you running.
drew
Thanks a lot. It's ok to run. The qemu i use is based on the commit
"2061735ff09f9d5e67c501a96227b470e7de69b1".
Haiwei Li