[libvirt] [PATCH] vircgroupmock: Mock access("/sys/devices/system/cpu/present")

Andrea Bolognani abologna at redhat.com
Thu Feb 25 09:14:25 UTC 2016


On Thu, 2016-02-25 at 09:08 +0100, Michal Privoznik wrote:
> There's been a report on the upstream list [1] describing we

You forgot the link. Then again, I'm not sure this information
is even useful to have in the commit message.

> 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

This is a really long line that's not strictly relevant to the
issue your commit is fixing, so I think you can just skip it.
The only line we're interested about is the access() call.

> read(4, "8-23,48-159\n", 5121)          = 12
> read(4, "", 5109)                       = 0
> close(4)                                = 0
> ...
> 
> Signed-off-by: Michal Privoznik <mprivozn at 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")) {

ACK once the commit message has been polished up.

Cheers.

-- 
Andrea Bolognani
Software Engineer - Virtualization Team




More information about the libvir-list mailing list