Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Run PySide6 Settings UI tests in headless CI instead of skipping them

Aperta
#58 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github-actions, linux, python
Ambito
ci-cd, desktop, testing

Direzione di ricerca

Start by reading the existing GitHub Actions workflow and tests/test_settings_shell.py to see which Python interpreter runs the tests and how missing PySide6 causes skips. Run the GUI tests with QT_QPA_PLATFORM=offscreen, ensuring Qt is installed for that interpreter and the test run fails if GUI tests are skipped. Done when PR CI exercises the GUI tests, catches a deliberate assertion failure, and keeps system actions mocked.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

github_actions gui

Problem

The GitHub Actions job installs shellcheck and systemd, but not system PySide6. tests/test_settings_shell.py skips the Qt GUI tests when PySide6 is unavailable, so CI can report green without exercising Settings window navigation, saving, source discovery, System actions, or close behavior. Local offscreen tests pass but are not enforced on pull requests.

Expected

Add a CI job or update the existing job to run PySide6 GUI tests headlessly (QT_QPA_PLATFORM=offscreen). Install Qt/PySide6 for the Python interpreter actually running tests (distro /usr/bin/python3 versus another Python on the runner can differ). Assert that the GUI tests ran, rather than accepting a skip as success. Keep systemctl/ydotool/clipboard actions mocked; CI must not access a real microphone or restart services.

Acceptance checks

  • PR CI runs test_settings_shell.py (and future GUI tests) with no skips caused by missing Qt.
  • Existing shell, backend, systemd and packaging checks still pass.
  • A deliberate failing GUI assertion makes CI red.
  • Headless runs do not connect to the desktop clipboard, open a microphone, or send user input.

This is coverage hardening, not a new user-facing Settings feature.

Lingua principale
Shell
Stelle
0
Fork
0
Merge medio
27m
PR unite (30g)
21

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di graygarbage/HermesKey

Tutte le issue di graygarbage/HermesKey

Issue simili

Altre issue su Shell/Bash

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.