From patchwork Fri Mar 8 16:38:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Maennich X-Patchwork-Id: 1053610 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=lists.linux.it (client-ip=2001:1418:10:5::2; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="lGyuc942"; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44GCrD28Jdz9sBF for ; Sat, 9 Mar 2019 03:39:08 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 86F183EA7F4 for ; Fri, 8 Mar 2019 17:39:05 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-3.smtp.seeweb.it (in-3.smtp.seeweb.it [IPv6:2001:4b78:1:20::3]) by picard.linux.it (Postfix) with ESMTP id 89B903EA79D for ; Fri, 8 Mar 2019 17:39:03 +0100 (CET) Received: from mail-qk1-x749.google.com (mail-qk1-x749.google.com [IPv6:2607:f8b0:4864:20::749]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id 3A0901A01CF3 for ; Fri, 8 Mar 2019 17:39:03 +0100 (CET) Received: by mail-qk1-x749.google.com with SMTP id t13so4695080qkm.2 for ; Fri, 08 Mar 2019 08:39:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=lPEqcsKPvI5eEsz1jfXnhj12gS1/HhVn4/a+UTWT6WI=; b=lGyuc9426O7i1ef9HjT9an56S5jvbvrqEwUoUCDCPCf4PE/E3SRzo1HOWkSlBk/oOp iCRRv/l8gsy+B9TIchHJHaFfWYQuDGBhJLvpM+RduA6EOvzB506JqtI/HfmCQAobSZlT pvjVNdieVh8qqQCw90oAFJk6t+Uaig8RoE2PLnMxsga9L6hknUM0JiIuHEsBMqEhHt7v uPgAwpCgbW9uA+9o4oZI3izWYTHHB0L+hO2dOvuXCTFxtGXdwCUKV9IC4DPV5/nkCwF/ 786pjzU8panNzscaXIGMeM92/twfkudN6fUF1e4xj3nbAgBLvUdbrkdbURFZd+ZcEISk iB9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=lPEqcsKPvI5eEsz1jfXnhj12gS1/HhVn4/a+UTWT6WI=; b=cjdaMvsh5KArOQ/84P/EPtX680PqCfTIZpqbmW8IWvHP04Q8NcohEg3qvahOJOKke3 scjTe2+AVr5WLFmuTJ/uN5v7PrPlGyKgLgiQNlQBsDsn6Rhdoq1H9mmSTaRaHlmlPHX2 kWl8ZFLRObhz9Uzo91raJuhbYalswnaprWMDGmD+cr3FFc1FK/uJ9rqXW2sQZmsBqpeG W8HICpxIPXMqHedKm819QNmY6GsZAiEB2wl+OL/1frpFjPdn/5hJAQRmcYorO+uqmLyj tHcnWiUs/cQVxnVJnHgR7ccDikrQ4y3DIkU9yckayDdwoWmhDcHyIpHoviFUPQuHcvym 3kig== X-Gm-Message-State: APjAAAXJJUpQCmG6nPbDd17Cit+0UC7uB57lAWX3Zh7JbH7Kam97C7yK LZXmbzF7J0qYdcAjjEhQLAcYyMuZb4LoxOseLFrNYO58Kuo6hVnfDHlqkCDGkvm3lxF/+uC7E+H aTMa/zCJmcPchlWvOvurXp65VNCYtrLHklsHJ20CqNRJdDQm4xii/EFpzRUoE9g== X-Google-Smtp-Source: APXvYqzcAI+m4mSdJ+iUyDGwrRYZnfD55xjVNQv0ojptA6iu4tRqBPUVSSfoVii1rH/fPMCIKqZADFe2LeCdwA== X-Received: by 2002:ac8:1aea:: with SMTP id h39mr10610352qtk.7.1552063141603; Fri, 08 Mar 2019 08:39:01 -0800 (PST) Date: Fri, 8 Mar 2019 16:38:32 +0000 Message-Id: <20190308163832.212631-1-maennich@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.21.0.360.g471c308f928-goog From: Matthias Maennich To: ltp@lists.linux.it X-Virus-Scanned: clamav-milter 0.99.2 at in-3.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=-7.4 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU, SPF_PASS, USER_IN_DEF_DKIM_WL autolearn=disabled version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on in-3.smtp.seeweb.it Cc: kernel-team@android.com Subject: [LTP] [PATCH v1] rt_sigpending02: reuse code from sigpending02 X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.18 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Rather than forking the code of sigpending02 completely, reuse its code for rt_sigpending02 by conditionally compiling the syscalls accordingly. That way we ensure tests written for either rt_sigpending or sigpending are also considered for the respective other. Signed-off-by: Matthias Maennich --- .../kernel/syscalls/rt_sigpending/Makefile | 8 ++++ .../syscalls/rt_sigpending/rt_sigpending02.c | 48 ------------------- testcases/kernel/syscalls/sigpending/Makefile | 2 + .../kernel/syscalls/sigpending/sigpending02.c | 16 +++++-- 4 files changed, 23 insertions(+), 51 deletions(-) delete mode 100644 testcases/kernel/syscalls/rt_sigpending/rt_sigpending02.c diff --git a/testcases/kernel/syscalls/rt_sigpending/Makefile b/testcases/kernel/syscalls/rt_sigpending/Makefile index 60c2e0140d85..57ba3dac2e41 100644 --- a/testcases/kernel/syscalls/rt_sigpending/Makefile +++ b/testcases/kernel/syscalls/rt_sigpending/Makefile @@ -4,4 +4,12 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk + +CPPFLAGS += -DTEST_RT_SIGPENDING + +rt_sigpending02: $(abs_srcdir)/../sigpending/sigpending02.c + $(LINK.c) $^ $(LOADLIBES) $(LDLIBS) $(OUTPUT_OPTION) + +MAKE_TARGETS := rt_sigpending02 + include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/rt_sigpending/rt_sigpending02.c b/testcases/kernel/syscalls/rt_sigpending/rt_sigpending02.c deleted file mode 100644 index 06d1c1578f4d..000000000000 --- a/testcases/kernel/syscalls/rt_sigpending/rt_sigpending02.c +++ /dev/null @@ -1,48 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Copyright (c) International Business Machines Corp., 2002 - * - * AUTHORS - * Paul Larson - * - * DESCRIPTION - * Test to see that the proper errors are returned by rt_sigpending - * - * Test 1: - * Call rt_sigpending(sigset_t*=-1, SIGSETSIZE), - * it should return -1 with errno EFAULT - */ - -#include -#include -#include - -#include "tst_test.h" -#include "ltp_signal.h" -#include "lapi/syscalls.h" - -static void run(void) -{ - /* set sigset to point to an invalid location */ - sigset_t *sigset = (sigset_t *) - 1; - - TEST(tst_syscall(__NR_rt_sigpending, sigset, SIGSETSIZE)); - - /* check return code */ - if (TST_RET == -1) { - if (TST_ERR != EFAULT) { - tst_res(TFAIL | TTERRNO, - "rt_sigpending() Failed with wrong errno, " - "expected errno=%d, got ", EFAULT); - } else { - tst_res(TPASS | TTERRNO, "expected failure"); - } - } else { - tst_res(TFAIL, - "rt_sigpending() Failed, expected return value=-1, got %ld", TST_RET); - } -} - -static struct tst_test test = { - .test_all = run -}; diff --git a/testcases/kernel/syscalls/sigpending/Makefile b/testcases/kernel/syscalls/sigpending/Makefile index bd617d806675..00a7d5e2b538 100644 --- a/testcases/kernel/syscalls/sigpending/Makefile +++ b/testcases/kernel/syscalls/sigpending/Makefile @@ -20,4 +20,6 @@ top_srcdir ?= ../../../.. include $(top_srcdir)/include/mk/testcases.mk +CPPFLAGS += -DTEST_SIGPENDING + include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/kernel/syscalls/sigpending/sigpending02.c b/testcases/kernel/syscalls/sigpending/sigpending02.c index e7ec0d6819bd..cc50870b107a 100644 --- a/testcases/kernel/syscalls/sigpending/sigpending02.c +++ b/testcases/kernel/syscalls/sigpending/sigpending02.c @@ -6,7 +6,10 @@ * Paul Larson * * DESCRIPTION - * Test to see that the proper errors are returned by sigpending + * Test to see that the proper errors are returned by sigpending. All the + * tests can also be compiled to use the rt_sigpending syscall instead. To + * simplify the documentation, only sigpending() is usually mentioned + * below. * * Test 1: * Call sigpending(sigset_t*=-1), it should return -1 with errno EFAULT @@ -17,6 +20,7 @@ #include #include "tst_test.h" +#include "ltp_signal.h" #include "lapi/syscalls.h" static void run(void) @@ -24,20 +28,26 @@ static void run(void) /* set sigset to point to an invalid location */ sigset_t *sigset = (sigset_t *) - 1; +#if defined(TEST_SIGPENDING) TEST(tst_syscall(__NR_sigpending, sigset)); +#elif defined(TEST_RT_SIGPENDING) + TEST(tst_syscall(__NR_rt_sigpending, sigset, SIGSETSIZE)); +#else +#error Neither TEST_SIGPENDING nor TEST_RT_SIGPENDING is defined! +#endif /* check return code */ if (TST_RET == -1) { if (TST_ERR != EFAULT) { tst_res(TFAIL | TTERRNO, - "sigpending() Failed with wrong errno, " + "syscall failed with wrong errno, " "expected errno=%d, got ", EFAULT); } else { tst_res(TPASS | TTERRNO, "expected failure"); } } else { tst_res(TFAIL, - "sigpending() Failed, expected return value=-1, got %ld", TST_RET); + "syscall failed, expected return value=-1, got %ld", TST_RET); } }