I found network-related config from one test leaking into another
and making the latter test fail, despite my use of what I thought
was everything required to keep them separate (unix_sock_dir and
log_outputs both set in config, and --pid-file specified on command line).
Unfortunately, there are still hard-coded references to some files.
/* Configuration paths are either ~/.libvirt/qemu/... (session) or
* /etc/libvirt/qemu/... (system).
That's from network_driver.c, to set these variables:
struct network_driver
->networkConfigDir
->networkAutostartDir
However, storage_driver is nearly identical in that respect.
It also uses ~/.libvirt/ vs SYSCONF_DIR/libvirt.
Same for uml_driver.c.
So, rather than adding new variables for each of these six new
parameters, how about just one new config parameter to allow
specification of a directory prefix that would replace
"~" and "/etc" in determining how to form config-related names?
Being able to run multiple libvirtd processes in parallel without having
one affect another is a hard requirement for any serious testing.