panfrost/ci: Use Volt-based runner for dEQP tests
It's able to run tests in parallel, fully utilizing the HW and shortening considerable the time it takes. Needed to disable tests in RK3288 for now because Volt doesn't support armhf yet, though this should be fixed soon. Tests are now run with --deqp-gl-config-name=rgba8888d24s8ms0, so we are hitting a few more failures in tests that previously were being skipped. The time to run the tests decreases from around 8 minutes to 1:45 minutes, allowing for extending coverage without increasing CI times too much. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
This commit is contained in:
parent
29834fe8a2
commit
76af465e57
|
@ -15,9 +15,9 @@ ln -s /bin/sh /init
|
|||
rm -rf /etc/localtime
|
||||
cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
|
||||
|
||||
|
||||
UNNEEDED_PACKAGES=" libfdisk1"\
|
||||
" tzdata"\
|
||||
UNNEEDED_PACKAGES="libfdisk1
|
||||
tzdata
|
||||
diffutils"
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
|
@ -182,4 +182,4 @@ rm usr/lib/*/libdb-5.3.so
|
|||
rm usr/lib/*/libnss_hesiod*
|
||||
rm usr/lib/*/libnss_nis*
|
||||
|
||||
rm usr/bin/tar
|
||||
rm bin/tar
|
||||
|
|
|
@ -42,6 +42,13 @@ apt-get -y install --no-install-recommends \
|
|||
procps \
|
||||
qemu-user-static \
|
||||
cpio \
|
||||
clang-8 \
|
||||
llvm-8 \
|
||||
libclang-8-dev \
|
||||
llvm-8-dev \
|
||||
gdc-9 \
|
||||
lld-8 \
|
||||
nasm \
|
||||
\
|
||||
libdrm-dev:${DEBIAN_ARCH} \
|
||||
libx11-dev:${DEBIAN_ARCH} \
|
||||
|
@ -65,12 +72,12 @@ apt-get -y install --no-install-recommends \
|
|||
libelf-dev:${DEBIAN_ARCH} \
|
||||
libwayland-dev:${DEBIAN_ARCH} \
|
||||
libwayland-egl-backend-dev:${DEBIAN_ARCH} \
|
||||
libclang-7-dev:${DEBIAN_ARCH} \
|
||||
zlib1g-dev:${DEBIAN_ARCH} \
|
||||
libglvnd-core-dev:${DEBIAN_ARCH} \
|
||||
wayland-protocols:${DEBIAN_ARCH} \
|
||||
libpng-dev:${DEBIAN_ARCH}
|
||||
|
||||
|
||||
############### Cross-build dEQP
|
||||
mkdir -p /artifacts/rootfs/deqp
|
||||
|
||||
|
@ -89,7 +96,6 @@ cmake -DDEQP_TARGET=wayland \
|
|||
/VK-GL-CTS-opengl-es-cts-3.2.5.0
|
||||
make -j$(nproc)
|
||||
rm -rf /artifacts/rootfs/deqp/external
|
||||
rm -rf /artifacts/rootfs/deqp/modules/gles3
|
||||
rm -rf /artifacts/rootfs/deqp/modules/gles31
|
||||
rm -rf /artifacts/rootfs/deqp/modules/internal
|
||||
rm -rf /artifacts/rootfs/deqp/executor
|
||||
|
@ -102,6 +108,32 @@ du -sh *
|
|||
rm -rf /VK-GL-CTS-opengl-es-cts-3.2.5.0
|
||||
|
||||
|
||||
############### Cross-build Volt dEQP runner
|
||||
mkdir -p /battery
|
||||
cd /battery
|
||||
wget https://github.com/VoltLang/Battery/releases/download/v0.1.22/battery-0.1.22-x86_64-linux.tar.gz
|
||||
tar xzvf battery-0.1.22-x86_64-linux.tar.gz
|
||||
rm battery-0.1.22-x86_64-linux.tar.gz
|
||||
mv battery /usr/local/bin
|
||||
rm -rf /battery
|
||||
|
||||
mkdir -p /volt
|
||||
cd /volt
|
||||
git clone --depth=1 https://github.com/VoltLang/Watt.git
|
||||
git clone --depth=1 https://github.com/VoltLang/Volta.git
|
||||
git clone --depth=1 https://github.com/Wallbraker/dEQP.git
|
||||
battery config --release --lto Volta Watt
|
||||
battery build
|
||||
battery config --arch aarch64 --cmd-volta Volta/volta Volta/rt Watt dEQP
|
||||
battery build
|
||||
cp dEQP/deqp /artifacts/rootfs/deqp/deqp-volt
|
||||
rm -rf /volt
|
||||
|
||||
|
||||
############### Remove LLVM now, so the container image is smaller
|
||||
apt-get -y remove \*llvm\*
|
||||
|
||||
|
||||
############### Cross-build kernel
|
||||
KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-5.2.tar.gz"
|
||||
export ARCH=${KERNEL_ARCH}
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -x
|
||||
|
||||
DEQP_OPTIONS="--deqp-surface-width=256 --deqp-surface-height=256"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-visibility=hidden"
|
||||
DEQP_OPTIONS="$DEQP_OPTIONS --deqp-log-images=disable"
|
||||
|
@ -24,26 +22,86 @@ sleep 1 # Give some time for Weston to start up
|
|||
./deqp-gles2 $DEQP_OPTIONS --deqp-runmode=stdout-caselist | grep "TEST: dEQP-GLES2" | cut -d ' ' -f 2 > /tmp/case-list.txt
|
||||
|
||||
# Disable for now tests that are very slow, either by just using lots of CPU or by crashing
|
||||
sed -i '/dEQP-GLES2.performance/d' /tmp/case-list.txt
|
||||
sed -i '/dEQP-GLES2.stress/d' /tmp/case-list.txt
|
||||
sed -i '/dEQP-GLES2.functional.fbo.render.depth./d' /tmp/case-list.txt
|
||||
sed -i '/dEQP-GLES2.functional.flush_finish./d' /tmp/case-list.txt
|
||||
FLIP_FLOPS="
|
||||
dEQP-GLES2.performance
|
||||
dEQP-GLES2.stress
|
||||
dEQP-GLES2.functional.fbo.render.depth.
|
||||
dEQP-GLES2.functional.flush_finish.
|
||||
"
|
||||
|
||||
# Cannot use tee because dash doesn't have pipefail
|
||||
touch /tmp/result.txt
|
||||
tail -f /tmp/result.txt &
|
||||
# These pass or fail seemingly at random
|
||||
FLIP_FLOPS="$FLIP_FLOPS
|
||||
dEQP-GLES2.performance
|
||||
dEQP-GLES2.stress
|
||||
dEQP-GLES2.functional.fbo.render.depth.
|
||||
dEQP-GLES2.functional.flush_finish.
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.
|
||||
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
|
||||
dEQP-GLES2.functional.shaders.invariance.highp.loop_4
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.12
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.37
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.1
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.3
|
||||
dEQP-GLES2.functional.texture.units.2_units.only_2d.2
|
||||
dEQP-GLES2.functional.texture.units.4_units.mixed.5
|
||||
dEQP-GLES2.functional.texture.units.4_units.only_2d.0
|
||||
dEQP-GLES2.functional.texture.units.8_units.only_cube.2
|
||||
dEQP-GLES2.functional.texture.units.all_units.mixed.6
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.4
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.7
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.8
|
||||
"
|
||||
|
||||
while [ -s /tmp/case-list.txt ]; do
|
||||
./deqp-gles2 $DEQP_OPTIONS --deqp-log-filename=/dev/null --deqp-caselist-file=/tmp/case-list.txt >> /tmp/result.txt
|
||||
if [ $? -ne 0 ]; then
|
||||
# Continue from the subtest after the failing one
|
||||
crashed_test=$(grep "Test case" /tmp/result.txt | tail -1 | sed "s/Test case '\(.*\)'\.\./\1/")
|
||||
sed -i "0,/^$crashed_test$/d" /tmp/case-list.txt
|
||||
for test in $FLIP_FLOPS; do sed -i "/$test/d" /tmp/case-list.txt; done
|
||||
|
||||
# So LAVA knows what happened
|
||||
echo "Test case '$crashed_test'..
|
||||
Crash"
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
/deqp/deqp-volt --cts-build-dir=/deqp \
|
||||
--threads=8 \
|
||||
--test-names-file=/tmp/case-list.txt \
|
||||
--results-file=/tmp/results.txt \
|
||||
--no-passed-results \
|
||||
--regression-file=/deqp/expected-failures.txt \
|
||||
--no-rerun-tests
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Regressions detected, printing results:"
|
||||
cat /tmp/results.txt
|
||||
echo "deqp: fail"
|
||||
else
|
||||
echo "No regressions detected"
|
||||
echo "deqp: pass"
|
||||
fi
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,7 @@
|
|||
variables:
|
||||
UPSTREAM_REPO: mesa/mesa
|
||||
DEBIAN_VERSION: testing-slim
|
||||
IMAGE_TAG: "2019-07-25-1"
|
||||
IMAGE_TAG: "2019-08-21-1"
|
||||
|
||||
include:
|
||||
- project: 'wayland/ci-templates'
|
||||
|
@ -51,15 +51,15 @@ stages:
|
|||
KERNEL_IMAGE_NAME=${KERNEL_IMAGE_NAME}
|
||||
bash src/gallium/drivers/panfrost/ci/debian-install.sh'
|
||||
|
||||
container:armhf:
|
||||
extends: .container
|
||||
variables:
|
||||
DEBIAN_ARCH: "armhf"
|
||||
GCC_ARCH: "arm-linux-gnueabihf"
|
||||
KERNEL_ARCH: "arm"
|
||||
DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
|
||||
DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
|
||||
KERNEL_IMAGE_NAME: "zImage"
|
||||
#container:armhf:
|
||||
# extends: .container
|
||||
# variables:
|
||||
# DEBIAN_ARCH: "armhf"
|
||||
# GCC_ARCH: "arm-linux-gnueabihf"
|
||||
# KERNEL_ARCH: "arm"
|
||||
# DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
|
||||
# DEVICE_TREES: "arch/arm/boot/dts/rk3288-veyron-jaq.dtb"
|
||||
# KERNEL_IMAGE_NAME: "zImage"
|
||||
|
||||
container:arm64:
|
||||
extends: .container
|
||||
|
@ -101,6 +101,7 @@ container:arm64:
|
|||
|
||||
# Pack rootfs
|
||||
- cp src/gallium/drivers/panfrost/ci/deqp-runner.sh /artifacts/rootfs/deqp/.
|
||||
- cp src/gallium/drivers/panfrost/ci/expected-failures.txt /artifacts/rootfs/deqp/.
|
||||
- du -sh /artifacts/rootfs/deqp/*
|
||||
- find /artifacts/rootfs/ -type f -printf "%s\t%p\n" | sort -n
|
||||
- cd /artifacts/rootfs/ ; find -H | cpio -H newc -v -o | gzip -c - > $CI_PROJECT_DIR/results/panfrost-rootfs-${DEBIAN_ARCH}.cpio.gz
|
||||
|
@ -123,13 +124,13 @@ container:arm64:
|
|||
paths:
|
||||
- results/
|
||||
|
||||
build:armhf:
|
||||
extends: .build
|
||||
variables:
|
||||
DEBIAN_ARCH: "armhf"
|
||||
GCC_ARCH: "arm-linux-gnueabihf"
|
||||
DEVICE_TYPE: "rk3288-veyron-jaq"
|
||||
KERNEL_IMAGE_NAME: "zImage"
|
||||
#build:armhf:
|
||||
# extends: .build
|
||||
# variables:
|
||||
# DEBIAN_ARCH: "armhf"
|
||||
# GCC_ARCH: "arm-linux-gnueabihf"
|
||||
# DEVICE_TYPE: "rk3288-veyron-jaq"
|
||||
# KERNEL_IMAGE_NAME: "zImage"
|
||||
|
||||
build:arm64:
|
||||
extends: .build
|
||||
|
@ -155,107 +156,22 @@ build:arm64:
|
|||
username: jenkins-fdo
|
||||
token: $LAVA_TOKEN
|
||||
" > ~/.config/lavacli.yaml
|
||||
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp.yml` || echo $lava_job_id
|
||||
- lava_job_id=`lavacli jobs submit $CI_PROJECT_DIR/results/lava-deqp.yml`
|
||||
- echo $lava_job_id
|
||||
- lavacli jobs logs $lava_job_id | grep -a -v "{'case':" | tee results/lava-deqp-$lava_job_id.log
|
||||
- lavacli jobs show $lava_job_id
|
||||
- curl "https://lava.collabora.co.uk/results/$lava_job_id/csv?user=jenkins-fdo&token=$LAVA_TOKEN" > raw_results.csv
|
||||
- cat raw_results.csv | csvcut -c 12,3 | grep dEQP-GLES2 | sort > results/results-$lava_job_id.csv
|
||||
|
||||
# FIXME: Remove flip-flops from comparison files
|
||||
- |
|
||||
FLIP_FLOPS="
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
|
||||
dEQP-GLES2.functional.clipping.triangle_vertex.clip_three.clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.color.blend_npot_rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.recreate_depthbuffer.
|
||||
dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgb
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer_clear.tex2d_rgba
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgb5_a1
|
||||
dEQP-GLES2.functional.fbo.render.shared_colorbuffer.rbo_rgba4
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgb5_a1_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.shared_depthbuffer.rbo_rgba4_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.stencil_clear.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.npot_rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgb5_a1_stencil_index8
|
||||
dEQP-GLES2.functional.fbo.render.stencil.rbo_rgba4_stencil_index8
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_input.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.lifetime.attach.deleted_output.renderbuffer_framebuffer
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_0_slope
|
||||
dEQP-GLES2.functional.polygon_offset.fixed16_factor_1_slope
|
||||
dEQP-GLES2.functional.shaders.invariance.highp.loop_4
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_mat4_vec4_vertex
|
||||
dEQP-GLES2.functional.shaders.matrix.mul.dynamic_highp_vec4_mat4_fragment
|
||||
dEQP-GLES2.functional.shaders.operator.common_functions.smoothstep.mediump_vec3_vertex
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.12
|
||||
dEQP-GLES2.functional.shaders.random.all_features.fragment.37
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.1
|
||||
dEQP-GLES2.functional.texture.units.2_units.mixed.3
|
||||
dEQP-GLES2.functional.texture.units.2_units.only_2d.2
|
||||
dEQP-GLES2.functional.texture.units.4_units.mixed.5
|
||||
dEQP-GLES2.functional.texture.units.4_units.only_2d.0
|
||||
dEQP-GLES2.functional.texture.units.8_units.only_cube.2
|
||||
dEQP-GLES2.functional.texture.units.all_units.mixed.6
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.4
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.7
|
||||
dEQP-GLES2.functional.texture.units.all_units.only_cube.8
|
||||
"
|
||||
|
||||
# FIXME: These tests fail in RK3288 but pass on RK3399
|
||||
- |
|
||||
FLIP_FLOPS="$FLIP_FLOPS
|
||||
dEQP-GLES2.functional.fragment_ops.blend.*
|
||||
dEQP-GLES2.functional.shaders.builtin_variable.max_draw_buffers_vertex
|
||||
dEQP-GLES2.functional.shaders.matrix.div.const_lowp_mat2_mat2_vertex
|
||||
dEQP-GLES2.functional.shaders.operator.unary_operator.pre_increment_effect.highp_ivec4_vertex
|
||||
dEQP-GLES2.functional.shaders.texture_functions.vertex.texture2dprojlod_vec3
|
||||
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
|
||||
dEQP-GLES2.functional.texture.filtering.2d.nearest_mipmap_nearest_linear_repeat_rgba8888
|
||||
dEQP-GLES2.functional.shaders.swizzles.vector_swizzles.mediump_ivec3_stts_fragment
|
||||
dEQP-GLES2.functional.shaders.loops.do_while_constant_iterations.only_continue_vertex
|
||||
dEQP-GLES2.functional.fbo.render.resize.tex2d_rgb_depth_component16
|
||||
dEQP-GLES2.functional.fbo.render.resize.tex2d_rgba_depth_component16
|
||||
dEQP-GLES2.functional.texture.filtering.2d.linear_mipmap_nearest_nearest_clamp_rgba8888
|
||||
"
|
||||
|
||||
- for test in $FLIP_FLOPS; do sed -i "/$test/d" results/expected-failures.txt results/results-$lava_job_id.csv; done
|
||||
|
||||
- PASSED=$(grep pass$ results/results-$lava_job_id.csv | wc -l)
|
||||
- FAILED=$(grep fail$ results/results-$lava_job_id.csv | wc -l)
|
||||
- TOTAL=$(wc -l < results/results-$lava_job_id.csv)
|
||||
- 'echo "Passed: $PASSED ($(expr $PASSED \* 100 / $TOTAL)%)"'
|
||||
- 'echo "Failed: $FAILED ($(expr $FAILED \* 100 / $TOTAL)%)"'
|
||||
- 'echo "Total: $TOTAL"'
|
||||
- 'if [ $TOTAL != 16374 ]; then echo "WARNING: Unexpected count of results. Incomplete run?"; fi'
|
||||
|
||||
- sed '/,pass/d' results/results-$lava_job_id.csv | sed 's/,fail//' > results/failures-$lava_job_id.txt
|
||||
|
||||
# Don't error out on RK3288
|
||||
- diff -u results/expected-failures.txt results/failures-$lava_job_id.txt || [ -f results/rk3288-veyron-jaq.dtb ]
|
||||
- result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
|
||||
- echo $result
|
||||
- '[[ "$result" == "pass" ]]'
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- results/
|
||||
|
||||
test:armhf:
|
||||
extends: .test
|
||||
dependencies:
|
||||
- build:armhf
|
||||
#test:armhf:
|
||||
# extends: .test
|
||||
# dependencies:
|
||||
# - build:armhf
|
||||
|
||||
test:arm64:
|
||||
extends: .test
|
||||
|
|
|
@ -50,21 +50,11 @@ actions:
|
|||
- mount -t devtmpfs none /dev
|
||||
- mkdir -p /dev/pts
|
||||
- mount -t devpts devpts /dev/pts
|
||||
- echo 1 > /proc/sys/kernel/printk
|
||||
# - echo performance > /sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/governor
|
||||
- echo 3 > /proc/sys/kernel/printk
|
||||
- echo performance > /sys/devices/platform/ff9a0000.gpu/devfreq/devfreq0/governor
|
||||
- sh /deqp/deqp-runner.sh
|
||||
parse:
|
||||
pattern: 'Test case ''(?P<test_case_id>\S*)''..\s+(?P<result>(Pass|NotSupported|QualityWarning|CompatibilityWarning|Fail|ResourceError|Crash|Timeout|InternalError))'
|
||||
fixupdict:
|
||||
Pass: pass
|
||||
NotSupported: pass
|
||||
QualityWarning: pass
|
||||
CompatibilityWarning: pass
|
||||
Fail: fail
|
||||
ResourceError: fail
|
||||
Crash: fail
|
||||
Timeout: fail
|
||||
InternalError: fail
|
||||
pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
|
||||
from: inline
|
||||
name: deqp
|
||||
path: inline/lava-deqp.yaml
|
||||
|
|
Loading…
Reference in New Issue