mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 04:25:18 +00:00
tests: pcimock: Use the temporary directory as fake root
We might need to mock files living outside PCI_SYSFS_PREFIX later on, so it's better to treat the temporary directory we are passed via the environment as the root of the fake filesystem and create PCI_SYSFS_PREFIX inside it. The environment variable name will be changed to reflect the new use we're making of it in a later commit.
This commit is contained in:
parent
b76d936670
commit
f94398e72e
@ -49,6 +49,7 @@ static DIR * (*realopendir)(const char *name);
|
||||
* when passed as an arg to virAsprintf()
|
||||
* vircgroupmock.c:462:22: error: static variable 'fakesysfsdir' is used in an inline function with external linkage [-Werror,-Wstatic-in-inline]
|
||||
*/
|
||||
char *fakerootdir;
|
||||
char *fakesysfsdir;
|
||||
|
||||
# define PCI_SYSFS_PREFIX "/sys/bus/pci/"
|
||||
@ -800,12 +801,19 @@ init_syms(void)
|
||||
static void
|
||||
init_env(void)
|
||||
{
|
||||
if (fakesysfsdir)
|
||||
if (fakerootdir && fakesysfsdir)
|
||||
return;
|
||||
|
||||
if (!(fakesysfsdir = getenv("LIBVIRT_FAKE_SYSFS_DIR")))
|
||||
if (!(fakerootdir = getenv("LIBVIRT_FAKE_SYSFS_DIR")))
|
||||
ABORT("Missing LIBVIRT_FAKE_SYSFS_DIR env variable\n");
|
||||
|
||||
if (virAsprintfQuiet(&fakesysfsdir, "%s%s",
|
||||
fakerootdir, PCI_SYSFS_PREFIX) < 0)
|
||||
ABORT_OOM();
|
||||
|
||||
if (virFileMakePath(fakesysfsdir) < 0)
|
||||
ABORT("Unable to create: %s", fakesysfsdir);
|
||||
|
||||
make_file(fakesysfsdir, "drivers_probe", NULL, -1);
|
||||
|
||||
# define MAKE_PCI_DRIVER(name, ...) \
|
||||
|
Loading…
x
Reference in New Issue
Block a user