From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754448AbdEKExB (ORCPT ); Thu, 11 May 2017 00:53:01 -0400 Received: from ozlabs.org ([103.22.144.67]:34535 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751146AbdEKEw7 (ORCPT ); Thu, 11 May 2017 00:52:59 -0400 From: Michael Ellerman To: Fathi Boudra , linux-kselftest@vger.kernel.org, Shuah Khan Cc: linux-kernel@vger.kernel.org, Emilio =?utf-8?Q?L=C3=B3pez?= , Sumit Semwal , Fathi Boudra Subject: Re: [PATCH 1/1] selftests: sync: add config fragment for testing sync framework In-Reply-To: <20170505050550.30102-1-fathi.boudra@linaro.org> References: <20170505050550.30102-1-fathi.boudra@linaro.org> User-Agent: Notmuch/0.21 (https://notmuchmail.org) Date: Thu, 11 May 2017 14:52:57 +1000 Message-ID: <87ziekhu52.fsf@concordia.ellerman.id.au> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fathi Boudra writes: > Unless the software synchronization objects (CONFIG_SW_SYNC) is enabled, > the sync test will fail: > > Additional Information: > Running tests in sync > ======================================== > [RUN] Testing sync framework > [RUN] Executing test_alloc_timeline > [ERROR] Failure allocating timeline It would be better if the test just detected that the kernel didn't support the API. It seems to rely on /sys/kernel/debug/sync/sw_sync existing. How about this? diff --git a/tools/testing/selftests/sync/sync_test.c b/tools/testing/selftests/sync/sync_test.c index 9ea08d9f0b13..62fa666e501a 100644 --- a/tools/testing/selftests/sync/sync_test.c +++ b/tools/testing/selftests/sync/sync_test.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include "synctest.h" @@ -52,10 +53,22 @@ static int run_test(int (*test)(void), char *name) exit(test()); } +static int sync_api_supported(void) +{ + struct stat sbuf; + + return 0 == stat("/sys/kernel/debug/sync/sw_sync", &sbuf); +} + int main(void) { int err = 0; + if (!sync_api_supported()) { + printf("SKIP: Sync framework not supported by kernel\n"); + return 0; + } + printf("[RUN]\tTesting sync framework\n"); err += RUN_TEST(test_alloc_timeline); cheers