• Vasily Galkin's avatar
    gdbus, tests, win32: test session dbus autolaunch · b245344c
    Vasily Galkin authored
    The test performs implicit autolaunching of a bus
    and checks if it is connectible.
    In build the test is moved from "only non-windows with have_dbus_daemon"
    to "anywhere".
    This is intentional: actually it doesn't execute any external
    binaries on unix (so doesn't require dbus_daemon)
    and now has win32 implementation.
    The test has some problems that are not problems of test itself,
    but are reasoned by current win32 implementation:
     - since the implementation uses global win32 kernel objects
    with fixed names not depending on g_get_user_runtime_dir or other context
    if preexisting bus running by some other libgio-using application
    the test would silently pass.
     - since the implementation uses problematic time-based synchronization,
    that has a race condition between opening and reading mmaped address,
    the test may randomly fail (I'd not seen this in practice).
     - since the implementation autolaunched process works for 3 seconds
    after last client disconnects, the executed subprocess runs for 3 seconds
    after test exit, maybe locking the libgio-2.0-0.dll file for that time.
gdbus-address-get-session.c 5.71 KB