mesa/plan.fmf
Peter Kopec 19b63476db Include universal gating smoke test suite
Resolves: RHEL-154255
2026-03-11 09:57:51 +01:00

109 lines
3.4 KiB
Plaintext

/plan-graphics-sanity-test:
summary: Graphics stack smoke test plan
discover:
how: fmf
provision:
how: local
prepare:
how: shell
script: |
set -x # Enable verbose logging
echo "========================================"
echo "Installing desktop environment and graphics dependencies"
echo "Architecture: $(uname -m)"
echo "OS: $(cat /etc/redhat-release)"
echo "========================================"
# Install full GNOME desktop environment (minimal)
echo "Step 1: Installing GNOME desktop environment..."
dnf groupinstall -y "Server with GUI" || \
dnf groupinstall -y "GNOME Desktop" || \
dnf install -y @gnome-desktop
# Install Wayland session specifically
echo "Step 2: Installing Wayland session components..."
dnf install -y \
gnome-session-wayland-session \
gnome-shell \
mutter \
xorg-x11-server-Xwayland
# Install graphics stack dependencies
echo "Step 3: Installing graphics stack dependencies..."
dnf install -y \
mesa-dri-drivers \
mesa-libGL \
mesa-libEGL \
mesa-libGLES \
mesa-vulkan-drivers \
gtk3 \
gtk4 \
xwayland-run \
mesa-demos \
python3-gobject \
glx-utils
# Install optional packages
echo "Step 4: Installing optional packages..."
dnf install -y gtk3-devel gtk4-devel xterm glxgears || true
# Verify key components
echo "Step 5: Verifying installation..."
echo " mutter: $(which mutter || echo 'NOT FOUND')"
echo " xwfb-run: $(which xwfb-run || echo 'NOT FOUND')"
echo " glxinfo: $(which glxinfo || echo 'NOT FOUND')"
echo " Software renderer: $(ls /usr/lib64/dri/swrast_dri.so 2>/dev/null || echo 'NOT FOUND')"
echo "========================================"
echo "Installation complete"
echo "========================================"
execute:
how: tmt
/tests:
/infrastructure-test:
summary: Graphics infrastructure test (Phases 1-3)
description: |
Validates graphics stack infrastructure:
- Phase 1: System info and prerequisites
- Phase 2: Library initialization (Mesa, GTK)
- Phase 3: Headless compositor and GL context
This test verifies that the graphics stack is properly set up
before running actual rendering tests.
test: SKIP_INSTALL=1 ./tests/graphics-smoke-test-tmt.sh --phase=1-3
tty: true
order: 10
duration: 4m
contact:
- Peter Kopec <pekopec@redhat.com>
component:
- mesa
- gtk3
- mutter
- xwayland
/rendering-test:
summary: Graphics rendering verification (Phase 4)
description: |
Validates actual graphics rendering with visual verification:
- GTK3/GTK4 application startup
- GTK4 rendering test with default renderer
- GTK4 rendering test with NGL renderer
- Visual verification via PNG color analysis
- glxgears FPS test
Detects the s390x Mesa 25.2.7-3 black screen bug where
GTK4 apps show black windows with default renderer but
work correctly with GSK_RENDERER=ngl.
test: SKIP_INSTALL=1 ./tests/graphics-smoke-test-tmt.sh --phase=4
tty: true
order: 20
duration: 8m
contact:
- Peter Kopec <pekopec@redhat.com>
component:
- mesa
- gtk4
- mutter