The first part of this patch series fixes the behavior of virConnectSupportsFeatures, virConnect(Un)RegisterCloseCallback, and implements these features in the test driver. This results in a better code coverage of our test suite. The subsequent patches remove the need to have the global variables 'qemuProgram', 'adminProgram', 'lxcProgram, and 'remoteProgram' in remote_daemon.[ch]. They only work in combination with the fixed behavior of virConnectSupportsFeatures and virConnect(Un)RegisterCloseCallback. Marc Hartmayer (20): driver: Add typedef for the anonymous enum used for driver features remote: Don't hard code the feature VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK as available virConnect(Un)RegisterCloseCallback: Throw an error in case the API is not supported test: Implement virConnectSupportsFeature test: Implement virConnect(Un)RegisterCloseCallback test: testOpenDefault: introduce cleanup path test: testOpenFromFile: return VIR_DRV_OPEN_SUCCESS in case of success test: testConnectAuthenticate: Take the lock when accessing mutable values test: testConnectClose: Set privateData to NULL in all cases test: rename defaultConn to defaultPrivconn test: introduce testDriverCloseInternal test: fix error path in testConnectOpen test: Convert testDriver to virObjectLockable remote: remove unneeded global variables stream: Access stream->prog instead of a hard-coded global variable remote: Set eventID explicitly to an invalid value remote: Add the information which program has to be used to daemonClientEventCallback remote: Use domainClientEventCallbacks for remoteReplayConnectionClosedEvent rpc: Introduce virNetServerGetProgramLocked helper function remote/rpc: Use virNetServerGetProgram() to determine the program src/esx/esx_driver.c | 18 +- src/libvirt-host.c | 24 +-- src/libvirt_internal.h | 4 +- src/libvirt_remote.syms | 1 + src/libxl/libxl_driver.c | 13 +- src/lxc/lxc_driver.c | 24 ++- src/openvz/openvz_driver.c | 15 +- src/qemu/qemu_driver.c | 8 +- src/remote/remote_daemon.c | 8 +- src/remote/remote_daemon.h | 3 - src/remote/remote_daemon_dispatch.c | 182 +++++++++++-------- src/remote/remote_daemon_stream.c | 14 +- src/rpc/gendispatch.pl | 2 + src/rpc/virnetserver.c | 54 +++++- src/rpc/virnetserver.h | 2 + src/test/test_driver.c | 339 ++++++++++++++++++++++-------------- src/vz/vz_driver.c | 15 +- src/xen/xen_driver.c | 15 +- tools/virsh.c | 11 +- 19 files changed, 504 insertions(+), 248 deletions(-) -- 2.13.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list