ci: enable all 14 tests with D-Bus session bus#10
Open
Conversation
Replace machinectl shell launch mechanism with systemd-run --uid transient units for better process lifecycle management. Adds crash monitoring via systemd D-Bus PropertiesChanged signals, state persistence to /run/couchplay/state.json with startup reconciliation, and consolidates app directories to XDG standard paths. - Launch via systemd-run --uid with -E for environment variables - Crash monitoring with UnitMonitor helper class - State persistence with atomic QSaveFile writes - Removed all overlay mount code in favor of bind mounts - Profiles moved to ~/.local/share/couchplay/profiles/ - Presets migrated from presets.json to KConfig groups - KWin scripts moved from /tmp/ to $XDG_RUNTIME_DIR/couchplay/ - Allow deselecting user in player assignment ComboBox - 13/13 tests passing, build clean
- Fix page navigation stacking (clear+push pattern) - Fix audio routing: stale ACL cache, dynamic gamescope path, conditional PULSE_SERVER - Extract validateUserAndAuth() and runCommand() helpers - Remove dead QProcess code from GamescopeInstance - Deduplicate AudioManager detection, async pactl calls - Fix SettingsPage audio UI states - Remove redundant isValid() checks in CouchPlayHelperClient - Add AudioManager unit tests (8 tests) - Update AGENTS.md knowledge base CI: 14/14 tests pass, build clean
…nce launching (#4) Introduce configurable grid arrangements for 3-player sessions (3x1 horizontal, 2x2 with gap, left+right split) with visual previews. Refactor instance launching to sequential order to fix window positioning race conditions with KWin. Stop session on positioning timeout instead of continuing broken.
feat(core): add screensaver inhibition during gaming sessions
…on via curl - Use COUCHPLAY_VERSION_STRING from ecm_setup_version in main app and helper - Remove redundant Version() D-Bus method (same binary, same version) - Show Qt.application.version in SettingsPage instead of hardcoded string - Install desktop file, icon, and metainfo in curl installer
Add polkit-qt6-1-devel and dbus-daemon to CI dependencies. Remove blanket test exclusions — wrap ctest with dbus-run-session to provide a session bus for test_couchplayhelper.
- test_commandverifier: QSKIP when /usr/bin/ls missing (minimal containers) - test_devicemanager: QSKIP when no /dev/input/event* devices (containers) - test_heroicconfigmanager: QSKIP when running as root (getpwnam unmockable) - test_usermanager: QSKIP testDeleteUserRequiresHelper when running as root - test_couchplayhelper: remove testVersion() for deleted Version() D-Bus method
- test_commandverifier: skip when resolveCommandPath returns empty for absolute paths (which may not resolve them in minimal containers) - test_devicemanager: skip when no device has /dev/input/event path (container devices may lack standard input event paths)
getDevicePathsForInstance() includes joyPath which may not start with /dev/input/event in containers. Check returned paths instead of device map.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dbus-daemonandpolkit-qt6-1-develto CI dependenciesctestwithdbus-run-sessionto provide a D-Bus session busContext
Previously 7 of 14 tests were excluded from CI via
-Eflag. Most were excluded conservatively — they either:test_couchplayhelper— already has MockSystemOps)Changes to CI
dbus-run-sessionprovides session buspolkit-qt6-1-develExpected results
test_couchplayhelpertest_gamescopeinstancetest_devicemanager/proc/bus/input/devicestest_usermanagertest_commandverifiertest_heroicconfigmanagertest_presetmanager_integrationIf any test fails in CI, targeted QSKIP guards will be added (not blanket exclusions).
Test plan