Skip to content
  • Martin Pitt's avatar
    Add support for plugin tests · 2fbb4040
    Martin Pitt authored and Bastien Nocera's avatar Bastien Nocera committed
    Add a GSDTestCase Python class (tests/gsdtestcase.py) which provides
    functionality for writing daemon and plugin tests:
    
     * Launch temporary private session and system D-BUSes to avoid disturbing
       the currently running system and being able to use mock D-BUS services.
    
     * Run a minimal gnome-session to ensure plugins can check the session idle
       status, register to the session, etc.
    
     * Configure temporary local XDG directories to avoid disturbing the user's
       real settings and files.
    
     * Run a mock notification daemon to avoid showing notifications produced
       by test cases, using python-dbusmock.
       (http://pypi.python.org/pypi/python-dbusmock)
    
     * Provide API to start/stop a mock logind, using python-dbusmock.
    
     * Provide API to reste the session idle timer, using a small "shiftkey"
       helper program that sends a "left shift key" event through XTest.
    
    If any of the required dependencies (gnome-session, dbusmock, pygobject) is
    not present, it exits with an error message ...
    2fbb4040