在 2023/5/10 下午8:21, Thomas Huth 写道:
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).
Yes, we can ignore, no error.
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().
Thanks for you help.
And
Should we need add ' @skipIf(os.getenv('GITLAB_CI'), 'Running on
GitLab')' ?
I see some tests add this.
Thanks.
Song Gao