Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751758AbdG1CNi (ORCPT ); Thu, 27 Jul 2017 22:13:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:48978 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751707AbdG1CNh (ORCPT ); Thu, 27 Jul 2017 22:13:37 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9304022C9E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=luto@kernel.org MIME-Version: 1.0 In-Reply-To: <18b89f2d-8219-e8bd-3de7-350aa96feed2@kernel.org> References: <20170726211852.18393-1-shuahkh@osg.samsung.com> <18b89f2d-8219-e8bd-3de7-350aa96feed2@kernel.org> From: Andy Lutomirski Date: Thu, 27 Jul 2017 19:13:15 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] selftests: capabilities: convert error output to TAP13 ksft framework To: Shuah Khan Cc: Andy Lutomirski , Shuah Khan , Greg KH , "open list:KERNEL SELFTEST FRAMEWORK" , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2388 Lines: 57 On Thu, Jul 27, 2017 at 1:32 PM, Shuah Khan wrote: > On 07/27/2017 12:50 PM, Andy Lutomirski wrote: >> On Wed, Jul 26, 2017 at 2:18 PM, Shuah Khan wrote: >>> Convert errx() and err() usage to appropriate TAP13 ksft API. >>> >>> Signed-off-by: Shuah Khan >>> --- >>> tools/testing/selftests/capabilities/test_execve.c | 105 ++++++++++++--------- >>> .../testing/selftests/capabilities/validate_cap.c | 9 +- >>> 2 files changed, 65 insertions(+), 49 deletions(-) >>> >>> diff --git a/tools/testing/selftests/capabilities/test_execve.c b/tools/testing/selftests/capabilities/test_execve.c >>> index 7c38233292b0..cf6778441381 100644 >>> --- a/tools/testing/selftests/capabilities/test_execve.c >>> +++ b/tools/testing/selftests/capabilities/test_execve.c >>> @@ -1,7 +1,6 @@ >>> #define _GNU_SOURCE >>> >>> #include >>> -#include >>> #include >>> #include >>> #include >>> @@ -39,29 +38,32 @@ static void vmaybe_write_file(bool enoent_ok, char *filename, char *fmt, va_list >>> int buf_len; >>> >>> buf_len = vsnprintf(buf, sizeof(buf), fmt, ap); >>> - if (buf_len < 0) { >>> - err(1, "vsnprintf failed"); >>> - } >>> - if (buf_len >= sizeof(buf)) { >>> - errx(1, "vsnprintf output truncated"); >>> - } >>> + if (buf_len < 0) >>> + ksft_exit_fail_msg("vsnprintf failed - %s\n", strerror(errno)); >> >> Could this not be a hypothetical ksft_exit_fail_msg_err or similar? >> Or a shorter name like ksft_fatal_err()? >> >> > > Is there a reason to add _err() suffix? > > ksft_exit_fail_msg() is a generic routine for a test to exit > with a test failure and print a message. The message doesn't > necessarily need to be a standard error message such as the > one err() or errx() or strerror() generate. > > In some cases test could fail with a standard error condition, > but not always. In that context, it doesn't make sense to add > _err suffix. I leveraged this generic function to replace err() > and errx() usages adding strerror() not loose the important > information. The idea behind the _err version is to avoid the extra typing to report errno. I suppose you could always report errno, but there are contexts where errno is meaningless or garbage.