There's been a report on the upstream list [1] describing we
access /sys/devices/system/cpu/present directly on the host from
within our test suite. This may end up in unpredictable results
as no all linux systems are required to have that file. Mock
access to the file.
libvirt.git/tests $ ../run strace vircgrouptest
...
access("/sys/devices/system/cpu/present", F_OK) = 0
open("libvirt.git/tests/fakerootdir-DmE8Z9/not/really/sys/fs/cgroup//devices_system_cpu_present",
O_RDONLY) = 4
read(4, "8-23,48-159\n", 5121) = 12
read(4, "", 5109) = 0
close(4) = 0
...
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/vircgroupmock.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/vircgroupmock.c b/tests/vircgroupmock.c
index 9ce7d41..756ac51 100644
--- a/tests/vircgroupmock.c
+++ b/tests/vircgroupmock.c
@@ -541,7 +541,8 @@ int access(const char *path, int mode)
ret = realaccess(newpath, mode);
free(newpath);
} else if (STREQ(path, "/proc/cgroups") ||
- STREQ(path, "/proc/self/cgroup")) {
+ STREQ(path, "/proc/self/cgroup") ||
+ STREQ(path, SYSFS_CPU_PRESENT)) {
/* These files are readable for all. */
ret = (mode == F_OK || mode == R_OK) ? 0 : -1;
} else if (STREQ(path, "/proc/mounts")) {
--
2.4.10