Re: [PATCH i-g-t v10 17/21] lib/sw_sync: Add igt_require_sw_sync to enable skipping on no sw_sync support

Petri Latvala
2016-12-07T11:06:33Z

On Tue, Dec 06, 2016 at 09:52:09PM -0500, Robert Foss wrote:
> Add igt_require_sw_sync to provide tests to skip if sw_sync support isn't
> available on the host machine.
>
> Signed-off-by: Robert Foss <robert.foss@collabora.com>
> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> ---
> lib/sw_sync.c | 22 ++++++++++++++++++++++
> lib/sw_sync.h | 1 +
> 2 files changed, 23 insertions(+)
>
> diff --git a/lib/sw_sync.c b/lib/sw_sync.c
> index a2168f78..d4ecc898 100644
> --- a/lib/sw_sync.c
> +++ b/lib/sw_sync.c
> @@ -194,3 +194,25 @@ int sync_fence_count_status(int fd, int status)
> igt_assert_f(count >= 0, "No fences with supplied status found");
> return count;
> }
> +
> +static bool kernel_has_sw_sync(void)
> +{
> + bool err;
> +
> + igt_ignore_warn(system("/sbin/modprobe -s r sw_sync"));
> +
> + err = false;
> + if (access(DEVFS_SW_SYNC, R_OK | W_OK) < 0) {
> + char buf[128];
> +
> + snprintf(buf, sizeof(buf), "%s/sw_sync", igt_debugfs_mount());
> + err = access(DEBUGFS_SW_SYNC, R_OK | W_OK) < 0;
> + }

Did you mean access(buf, R_OK | W_OK) here?

--
Petri Latvala