On 10/05/2023 11.02, Song Gao wrote:
Hi, Thomas
在 2023/5/8 下午9:12, Thomas Huth 写道:
Oh, another spot that needs special handling ... I see Alexander already
sent a patch (thanks!), but anyway, this is a good indication that we're
missing some test coverage in the CI.
Are there any loongarch kernel images available for public download
somewhere? If so, we really should add an avocado regression test for
this - since as far as I can see, we don't have any tests for loongarch
in tests/avocado yet?
we can get some binarys at:
https://github.com/yangxiaojuan-loongson/qemu-binary
>
I'm not sure that avacodo testing can be done using just the kernel.
Is a full loongarch system required?
No, you don't need a full distro installation, just a kernel with ramdisk
(which is also available there) is good enough for a basic test, e.g. just
check whether the kernel boots to a certain point is good enough to
provide a basic sanity test. If you then can also get even into a shell
(of the ramdisk), you can check some additional stuff in the sysfs or
"dmesg" output, see for example tests/avocado/machine_s390_ccw_virtio.py
which does such checks with a kernel and initrd on s390x.
I have a few questions.
I run ' make check-avocado
AVOCADO_TESTS=./tests/avocado/machine_s390_ccw_virtio.py V=1'
root@loongson-KVM:~/work/qemu#make check-avocado
AVOCADO_TESTS=./tests/avocado/machine_s390_ccw_virtio.py V=1
changing dir to build for make "check-avocado"...
make[1]: Entering directory '/root/work/qemu/build'
(GIT="git" "/root/work/qemu/scripts/git-submodule.sh" update ui/keycodemapdb
meson tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc)
/root/work/qemu/build/tests/venv/bin/python3 -m avocado vmimage get
--distro=fedora --distro-version=31 --arch=s390x
The image was downloaded:
Provider Version Architecture File
fedora 31 s390x
/root/avocado/data/cache/by_location/8ee06cba5485a58b2203c2c000d6d2ff6da0f040/Fedora-Cloud-Base-31-1.9.s390x.qcow2
/root/work/qemu/build/tests/venv/bin/python3 -m avocado --show=app run
--job-results-dir=/root/work/qemu/build/tests/results
--filter-by-tags-include-empty --filter-by-tags-include-empty-key
--max-parallel-tasks 1 -t arch:loongarch64 -t arch:s390x --failfast
./tests/avocado/machine_s390_ccw_virtio.py
...
This test downloaded 'Fedora-Cloud-Base-31-1.9.s390x.qcow2' image.
but we don't have a 'Fedora-Cloud-Base-31-1.9.loongarch.qcow2' image.
Am I missing something?
Hmm, that image is not required for those tests... not sure why they get
downloaded here... I think something in
tests/avocado/avocado_qemu/__init__.py or in tests/Makefile.include tries to
download the cloudinit stuff in advance for other tests, but it is certainly
unrelated to the machine_s390_ccw_virtio.py test that only uses a kernel and
initrd.
I think you can ignore that (unless there is an error since it's trying to
download the loongarch Cloud-Base image - then that's a bug).
One more question, How to get the 'kernel_hash' and 'initrd_hash'?
I think it's a SHA1 hash by default, so you can for example get it with the
"sha1sum" tool on the command line.
But seems like it is also possible to specify different algorithms with the
"algorithm=..." parameter of fetch_asset().
HTH,
Thomas