mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-23 18:24:13 +08:00
ci: Run tests inside Crosvm
Allow running tests within Crosvm for testing the virtio-gpu winsys in Virgl, tested with Piglit only for now. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10862>
This commit is contained in:
parent
4d5ef807da
commit
f1b952fa73
25
.gitlab-ci/crosvm-init.sh
Executable file
25
.gitlab-ci/crosvm-init.sh
Executable file
@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
mount -t proc none /proc
|
||||
mount -t sysfs none /sys
|
||||
mount -t devtmpfs none /dev || echo possibly already mounted
|
||||
mkdir -p /dev/pts
|
||||
mount -t devpts devpts /dev/pts
|
||||
mount -t tmpfs tmpfs /tmp
|
||||
|
||||
. /crosvm-env.sh
|
||||
|
||||
# / is ro
|
||||
export PIGLIT_REPLAY_EXTRA_ARGS="$PIGLIT_REPLAY_EXTRA_ARGS --db-path /tmp/replayer-db"
|
||||
|
||||
if sh $CROSVM_TEST_SCRIPT; then
|
||||
touch /results/success
|
||||
fi
|
||||
|
||||
poweroff -d -n -f || true
|
||||
|
||||
sleep 10 # Just in case init would exit before the kernel shuts down the VM
|
||||
|
||||
exit 1
|
43
.gitlab-ci/crosvm-runner.sh
Executable file
43
.gitlab-ci/crosvm-runner.sh
Executable file
@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
|
||||
ln -sf $CI_PROJECT_DIR/install /install
|
||||
|
||||
export LD_LIBRARY_PATH=$CI_PROJECT_DIR/install/lib/
|
||||
export EGL_PLATFORM=surfaceless
|
||||
|
||||
export -p > /crosvm-env.sh
|
||||
|
||||
CROSVM_KERNEL_ARGS="root=my_root rw rootfstype=virtiofs loglevel=3 init=$CI_PROJECT_DIR/install/crosvm-init.sh ip=192.168.30.2::192.168.30.1:255.255.255.0:crosvm:eth0"
|
||||
|
||||
# Temporary results dir because from the guest we cannot write to /
|
||||
mkdir -p /results
|
||||
mount -t tmpfs tmpfs /results
|
||||
|
||||
mkdir -p /piglit/.gitlab-ci/piglit
|
||||
mount -t tmpfs tmpfs /piglit/.gitlab-ci/piglit
|
||||
|
||||
unset DISPLAY
|
||||
unset XDG_RUNTIME_DIR
|
||||
|
||||
/usr/sbin/iptables-legacy -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
||||
|
||||
# Crosvm wants this
|
||||
syslogd > /dev/null
|
||||
|
||||
crosvm run \
|
||||
--gpu gles=false,backend=3d,egl=true,surfaceless=true \
|
||||
-m 4096 \
|
||||
-c 4 \
|
||||
--disable-sandbox \
|
||||
--shared-dir /:my_root:type=fs:writeback=true:timeout=60:cache=always \
|
||||
--host_ip=192.168.30.1 --netmask=255.255.255.0 --mac "AA:BB:CC:00:00:12" \
|
||||
-p "$CROSVM_KERNEL_ARGS" \
|
||||
/lava-files/bzImage
|
||||
|
||||
mkdir -p $CI_PROJECT_DIR/results
|
||||
mv /results/* $CI_PROJECT_DIR/results/.
|
||||
|
||||
test -f $CI_PROJECT_DIR/results/success
|
@ -32,6 +32,8 @@ cp -Rp .gitlab-ci/fossils.yml install/
|
||||
cp -Rp .gitlab-ci/fossils install/
|
||||
cp -Rp .gitlab-ci/fossilize-runner.sh install/
|
||||
cp -Rp .gitlab-ci/deqp-runner.sh install/
|
||||
cp -Rp .gitlab-ci/crosvm-runner.sh install/
|
||||
cp -Rp .gitlab-ci/crosvm-init.sh install/
|
||||
cp -Rp .gitlab-ci/deqp-*.txt install/
|
||||
cp -Rp .gitlab-ci/report-flakes.py install/
|
||||
cp -Rp .gitlab-ci/vkd3d-proton install/
|
||||
|
@ -83,4 +83,10 @@ virgl-traces:
|
||||
PIGLIT_RESULTS: "virgl-replay"
|
||||
MESA_GLES_VERSION_OVERRIDE: "3.1"
|
||||
MESA_GLSL_VERSION_OVERRIDE: "310"
|
||||
GALLIUM_DRIVER: "llvmpipe"
|
||||
CROSVM_TEST_SCRIPT: "/install/piglit/run.sh"
|
||||
tags:
|
||||
- kvm
|
||||
script:
|
||||
- install/crosvm-runner.sh
|
||||
|
||||
|
@ -17,16 +17,267 @@ traces:
|
||||
- path: gputest/furmark.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 87ffd45be95f2d55f82325c86ce32f20
|
||||
checksum: 248ee9534a1f333b479e599646f56f63
|
||||
- path: gputest/pixmark-piano.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 8293e59b818715ddf1c23e9f60b17851
|
||||
checksum: 3bb42312c7d7d694f7e186b480e16314
|
||||
- path: gputest/triangle.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 848436d1a2448bdc76fd6220382d8606
|
||||
checksum: c8848dec77ee0c55292417f54c0a1a49
|
||||
- path: humus/Portals.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 6d78eed6749f01cc5625dec0ad129c66
|
||||
checksum: 80e88e6be47138c18370d84c6426544f
|
||||
- path: 0ad/0ad.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: b244fb65c77f5cca2c49bb256874e132
|
||||
- path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 7194a135b454ab0a44da54b1b4318573
|
||||
- path: glmark2/buffer-columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: b28fafe3844e83854ac66526ec3c6f7b
|
||||
- path: glmark2/buffer-columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: be20e9586750d29d8e24f418a2ddd6b3
|
||||
- path: glmark2/bump-bump-render=height.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 44b19dbaeb169b37957ad7e36655c82b
|
||||
- path: glmark2/bump-bump-render=high-poly.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: b8fbdcf5b27b6f0a80a483f97aa8f95b
|
||||
- path: glmark2/bump-bump-render=normals.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 3217bb7c1ab99631d6c8079c39900cd8
|
||||
- path: glmark2/conditionals-fragment-steps=0:vertex-steps=0.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 37076f5d551f1650457d6200c148a6d5
|
||||
- path: glmark2/conditionals-fragment-steps=5:vertex-steps=0.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 74d437bbeaea401d9f3c91d03090150a
|
||||
- path: glmark2/conditionals-fragment-steps=0:vertex-steps=5.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: a0054a7c565400d41a581e43ad2725fa
|
||||
- path: glmark2/desktop-effect=shadow:windows=4.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 4a954ef5ff1405a92ff73532de063667
|
||||
- path: glmark2/effect2d-kernel=0,1,0;1,-4,1;0,1,0.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 78c21e2eb2487ac1765b80134d0030d5
|
||||
- path: glmark2/effect2d-kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: cf71e5d389dfdae7472382c53b49eaef
|
||||
- path: glmark2/function-fragment-complexity=low:fragment-steps=5.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 60edf075423cda8bd5ccbec780a7f779
|
||||
- path: glmark2/function-fragment-complexity=medium:fragment-steps=5.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 09589fc148b17961d52036aa6c958cfb
|
||||
- path: glmark2/glmark2-build-use-vbo-false.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: c49a46075f148048f56c31189ee8ca96
|
||||
- path: glmark2/glmark2-build-use-vbo-true.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: e6006b74fb1de84037a352546a9074d9
|
||||
- path: glmark2/ideas-speed=duration.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 978804553ca90e629b4772e8c3ba6c15
|
||||
- path: glmark2/loop-fragment-loop=false:fragment-steps=5:vertex-steps=5.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 69553b77c1bfd05b686fc6de4c9d73b9
|
||||
- path: glmark2/loop-fragment-steps=5:fragment-uniform=false:vertex-steps=5.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 6ccbe24948193e4a375ad97cad3a1b91
|
||||
- path: glmark2/loop-fragment-steps=5:fragment-uniform=true:vertex-steps=5.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: b01a0e5d01184b689738f50a89d932e6
|
||||
- path: glmark2/pulsar-light=false:quads=5:texture=false.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 9b794af6415f6983b8748e63a1026d23
|
||||
- path: glmark2/refract.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 8ffd396d27f55fdfa7b730741f2f3013
|
||||
- path: glmark2/shading-shading=blinn-phong-inf.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: a5b3b5224cb036266ebc2a94bb74d730
|
||||
- path: glmark2/shading-shading=cel.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: f9476eb0aa80026b7baa364b3ecc7c1c
|
||||
- path: glmark2/shading-shading=gouraud.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 9a17b566c63683eb20753752f1b8c226
|
||||
- path: glmark2/shading-shading=phong.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 7495d0ca6d9866e4a61ea1187e7db6cd
|
||||
- path: glmark2/shadow.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: c3b1a34d324c2c1fb03dbfa78a447d9f
|
||||
# Crash
|
||||
# - path: glmark2/texture-texture-filter=linear.rdc
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 7705bcf747ce1431db32f299fb81df63
|
||||
- path: glmark2/texture-texture-filter=mipmap.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: afedbd8f7ad8d379bcd392406d95ff30
|
||||
- path: glmark2/texture-texture-filter=nearest.rdc
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 769d6bdceb598e216ac39951f6881b67
|
||||
- path: glxgears/glxgears.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 02aca9b4b4ad6fd60331df6e4f87f2cd
|
||||
# Crash
|
||||
# - path: gputest/gimark.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 2cf40180a1315795389d0dfc18aad988
|
||||
- path: gputest/pixmark-julia-fp32.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: dcf806be38c0b4c42ff85c98564177f9
|
||||
# Crash
|
||||
# - path: gputest/pixmark-julia-fp64.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 0
|
||||
- path: gputest/pixmark-volplosion.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 922842c426150dc19a69c95181fda8b2
|
||||
- path: gputest/plot3d.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 09e49ca9a988fe86c8b26f2a73d5bc08
|
||||
# Crash
|
||||
# - path: gputest/tessmark.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 5d04b8d71517238b9bc8a527574e884b
|
||||
- path: humus/AmbientAperture.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: ff490e36a763608e1ed3fa041216a378
|
||||
- path: humus/CelShading.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: da817304110f4fb7fdbcdf3f83fe184d
|
||||
- path: humus/DynamicBranching3.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 82c6b38f49b6a5d26d00ee64cf6e3fa6
|
||||
- path: humus/HDR.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 40cae3617b7fe872939125ee574b50f0
|
||||
- path: humus/RaytracedShadows.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 0e1096159db72b650d43f134c3ccaf79
|
||||
- path: humus/VolumetricFogging2.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: a596785521a96162204ac266d5496c23
|
||||
# Crash
|
||||
# - path: itoral-gl-terrain-demo/demo.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 9571117bf4eab6fe29b12f6c3d42d865
|
||||
- path: neverball/neverball.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 6936cde5edab2b3fd02115ef36015cde
|
||||
# Crash
|
||||
# - path: pathfinder/canvas_moire.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 0e32ca8fc815a7250f38a07faeafb21b
|
||||
# Crash
|
||||
# - path: pathfinder/canvas_text.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 74129b650bd3ca806ff2dd46813ba6e6
|
||||
# Crash
|
||||
# - path: pathfinder/demo.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: f6661ed4de9e0a444c6338ebd0cd3768
|
||||
- path: supertuxkart/supertuxkart-mansion-egl-gles.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 7e478a9cca2686531370e91ece6b3afc
|
||||
# Sometimes crashes
|
||||
# - path: xonotic/xonotic-keybench-high.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: e8a52c8f558a0085eb45fcba0f6c59e2
|
||||
- path: valve/counterstrike.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: c63da1fbaec101dba5224ca1f52ec429
|
||||
- path: valve/counterstrike-source.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 4c19f6060ff0fe0055678c48e1e77282
|
||||
# Piglit times-out when trying to run this one
|
||||
# - path: valve/half-life-2.trace
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 323887eedf59fa9282d6c3a4c82c3192
|
||||
- path: valve/portal-2.trace
|
||||
expectations:
|
||||
- device: gl-virgl
|
||||
checksum: 41ab89c4174004360d63c2fd7dd81ff4
|
||||
# Piglit crashes when trying to run this one
|
||||
# - path: supertuxkart/supertuxkart-antediluvian-abyss.rdc
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 0
|
||||
# Piglit crashes when trying to run this one
|
||||
# - path: supertuxkart/supertuxkart-menu.rdc
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 0
|
||||
# Piglit crashes when trying to run this one
|
||||
# - path: supertuxkart/supertuxkart-ravenbridge-mansion.rdc
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 0
|
||||
# Piglit crashes when trying to run this one
|
||||
# - path: godot/Material Testers.x86_64_2020.04.08_13.38_frame799.rdc
|
||||
# expectations:
|
||||
# - device: gl-virgl
|
||||
# checksum: 0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user