From patchwork Wed Jan 20 14:37:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429216 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) 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; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=BJ89Vl2N; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSmd6N2Vz9sVS for ; Thu, 21 Jan 2021 01:37:53 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id E842A3C64A1 for ; Wed, 20 Jan 2021 15:37:50 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-4.smtp.seeweb.it (in-4.smtp.seeweb.it [217.194.8.4]) by picard.linux.it (Postfix) with ESMTP id 584923C0194 for ; Wed, 20 Jan 2021 15:37:38 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-4.smtp.seeweb.it (Postfix) with ESMTPS id 260EE100037C for ; Wed, 20 Jan 2021 15:37:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153457; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0xgX7YPXzNS9rb1w3IpK/3aOUFtKLDljIQ672WlmTLU=; b=BJ89Vl2NW1T1s6jYod39xoXuxBMUgMGzQdBM1TzoYHskV3GBxiOQ22UKFOloaxnJjwG8L5 UxkHzeAsiTDDmAPp9b+JtqSWRE98Eq02J5OWvzorK8iP1oSZq4r0OWfOgv/ULqbvmuuG0R gxSp/JbohbIGLlUCV7+Vr/HcImgak48= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id ADC81ACAC; Wed, 20 Jan 2021 14:37:37 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:17 +0000 Message-Id: <20210120143723.26483-2-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-4.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-4.smtp.seeweb.it Subject: [LTP] [PATCH v3 1/7] API: Add FILE_SCANF to new lib X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Signed-off-by: Richard Palethorpe --- include/tst_safe_file_ops.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/tst_safe_file_ops.h b/include/tst_safe_file_ops.h index 894c16123..ea8f89263 100644 --- a/include/tst_safe_file_ops.h +++ b/include/tst_safe_file_ops.h @@ -7,6 +7,9 @@ #include "safe_file_ops_fn.h" +#define FILE_SCANF(path, fmt, ...) \ + file_scanf(__FILE__, __LINE__, (path), (fmt), ## __VA_ARGS__) + #define SAFE_FILE_SCANF(path, fmt, ...) \ safe_file_scanf(__FILE__, __LINE__, NULL, \ (path), (fmt), ## __VA_ARGS__) From patchwork Wed Jan 20 14:37:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429223 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=cTM2ED8V; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSmp56m5z9sB4 for ; Thu, 21 Jan 2021 01:38:02 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 25E573C64FA for ; Wed, 20 Jan 2021 15:38:00 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [IPv6:2001:4b78:1:20::6]) by picard.linux.it (Postfix) with ESMTP id 04D9E3C0194 for ; Wed, 20 Jan 2021 15:37:38 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 7393E1400E71 for ; Wed, 20 Jan 2021 15:37:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153458; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a6hdMxU6bfIY9nuDlBnPbWgIEEGZnE8NhXKn9sSPVlQ=; b=cTM2ED8VOEeu4a0EtFT7NRrUIuwvxQSK3b5jmw8koWkCC3j5npjoaLQkPf1ycNC9jG08Ly yKrUdpOO2OSObRUuG6zzevi/Yik3JY5flwjMGXn1dG/g16mrRr/2YyoSWzOrhGARl8JNtI /PXXX7339IpzSA8s1oifkx7CrF/ct+U= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 1820AACAD; Wed, 20 Jan 2021 14:37:38 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:18 +0000 Message-Id: <20210120143723.26483-3-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-6.smtp.seeweb.it Subject: [LTP] [PATCH v3 2/7] can: Add can_common.h for vcan device setup X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Note that we call modprobe to set echo=1. However this does seem to be necessary for the current tests on 5.10. It has been kept to avoid changing the test behavior unnecessarily, but can most likely be safely removed if it causes problems. Signed-off-by: Richard Palethorpe --- .../network/can/filter-tests/can_common.h | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 testcases/network/can/filter-tests/can_common.h diff --git a/testcases/network/can/filter-tests/can_common.h b/testcases/network/can/filter-tests/can_common.h new file mode 100644 index 000000000..f15145f30 --- /dev/null +++ b/testcases/network/can/filter-tests/can_common.h @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (c) 2021 SUSE LLC + */ + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "tst_cmd.h" +#include "tst_safe_stdio.h" +#include "tst_safe_file_ops.h" + +#include +#include +#include + +#ifndef IFF_ECHO +# define IFF_ECHO (1<<18) +#endif + +static char *can_dev_name; +static int can_created_dev; + +static void can_cmd(const char *const argv[]) +{ + tst_cmd(argv, NULL, NULL, TST_CMD_TCONF_ON_MISSING); +} + +#define CAN_CMD(...) can_cmd((const char *const[]){ __VA_ARGS__, NULL }) + +static void can_setup_vcan(void) +{ + unsigned int flags; + char *path; + + if (can_dev_name) + goto check_echo; + + can_dev_name = "vcan0"; + + tst_res(TINFO, "Creating vcan0 device; use -D option to avoid this"); + + CAN_CMD("modprobe", "-r", "vcan"); + CAN_CMD("modprobe", "vcan", "echo=1"); + + can_created_dev = 1; + + CAN_CMD("ip", "link", "add", "dev", "vcan0", "type", "vcan"); + CAN_CMD("ip", "link", "set", "dev", "vcan0", "up"); + +check_echo: + /* Precondition for the frame flow test? */ + SAFE_ASPRINTF(&path, "/sys/class/net/%s/flags", can_dev_name); + if (FILE_SCANF(path, "%x", &flags) || !(flags & IFF_ECHO)) { + tst_res(TWARN, "Could not determine if ECHO is set on %s", + can_dev_name); + } +} + +static void can_cleanup_vcan(void) +{ + if (!can_created_dev) + return; + + CAN_CMD("ip", "link", "set", "dev", "vcan0", "down"); + CAN_CMD("ip", "link", "del", "dev", "vcan0"); + CAN_CMD("modprobe", "-r", "vcan"); +} From patchwork Wed Jan 20 14:37:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429225 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) 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; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=XthkpOnZ; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSmz677Yz9sB4 for ; Thu, 21 Jan 2021 01:38:11 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 0C5A93C78EA for ; Wed, 20 Jan 2021 15:38:09 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-2.smtp.seeweb.it (in-2.smtp.seeweb.it [IPv6:2001:4b78:1:20::2]) by picard.linux.it (Postfix) with ESMTP id 219653C24E4 for ; Wed, 20 Jan 2021 15:37:39 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-2.smtp.seeweb.it (Postfix) with ESMTPS id D5C2F600C73 for ; Wed, 20 Jan 2021 15:37:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153458; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O8bxkecA30vKpvKXV5/2+zt45Y6vrE4AWViiGp85qzs=; b=XthkpOnZxxtc//TIr/0+IE/0iE77xtWE/aVa3MZIHQjYwbEhjNNXGOCLaRWDqt3cnJjGFf AjYaR8sU1jwYvCtB+PWHrR43eG9ejq7euylHE0vQdHgP6wjowLKDNllTzeYfD2FJTlnQny N7jSaKnGLazS+AR/i+8sXsms/eLqOR0= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 790A5ACE1; Wed, 20 Jan 2021 14:37:38 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:19 +0000 Message-Id: <20210120143723.26483-4-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-2.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-2.smtp.seeweb.it Subject: [LTP] [PATCH v3 3/7] can: Add COPYING with dual license text X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" This may be referred to with SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) The kernel version includes the syscall note, but the contents of the syscall note have never been included within the LTP CAN tests. Signed-off-by: Richard Palethorpe --- testcases/network/can/filter-tests/COPYING | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 testcases/network/can/filter-tests/COPYING diff --git a/testcases/network/can/filter-tests/COPYING b/testcases/network/can/filter-tests/COPYING new file mode 100644 index 000000000..2fa5eb911 --- /dev/null +++ b/testcases/network/can/filter-tests/COPYING @@ -0,0 +1,35 @@ +Copyright (c) 2010-2011 Volkswagen Group Electronic Research +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of Volkswagen nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +Alternatively, provided that this notice is retained in full, this +software may be distributed under the terms of the GNU General +Public License ("GPL") version 2, in which case the provisions of the +GPL apply INSTEAD OF those given above. + +The provided data structures and external interfaces from this code +are not restricted to be used by modules with a GPL compatible license. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. From patchwork Wed Jan 20 14:37:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429226 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=AIF4idcH; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSnC47jvz9sB4 for ; Thu, 21 Jan 2021 01:38:23 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id E3A653C63F6 for ; Wed, 20 Jan 2021 15:38:20 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-7.smtp.seeweb.it (in-7.smtp.seeweb.it [217.194.8.7]) by picard.linux.it (Postfix) with ESMTP id 23AF63C648B for ; Wed, 20 Jan 2021 15:37:40 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-7.smtp.seeweb.it (Postfix) with ESMTPS id 54F01200B8B for ; Wed, 20 Jan 2021 15:37:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153459; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Zc2VLeDPlgnNVz0Wq7v1E6qs0Z0oKAFaTotGbVP/wN4=; b=AIF4idcHJd4pQ6YmUHvTRPUQKWap/Qyv+VOuAvUBSxBNhaEdEAlwFl9I5Cvv9SB+m+nvql tNDfCcxK1oUO4dVlg8CfNhTPtOsTYbxaXumhvDSHHL/qKIOBILyvCwkO1ixZ29bgYutqgU qYgOZiyq6jYi6mqqqHQRYGHf2BcN/5E= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id DEAC8AD18; Wed, 20 Jan 2021 14:37:38 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:20 +0000 Message-Id: <20210120143723.26483-5-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-7.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-7.smtp.seeweb.it Subject: [LTP] [PATCH v3 4/7] can_filter: Convert to new library X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Behavior is mostly the same, but on some errors we print fail and continue instead of exiting immediately. It appears this would result in more information being printed if there is a failure. Signed-off-by: Richard Palethorpe --- .../network/can/filter-tests/can_filter.c | 317 +++++++----------- 1 file changed, 124 insertions(+), 193 deletions(-) diff --git a/testcases/network/can/filter-tests/can_filter.c b/testcases/network/can/filter-tests/can_filter.c index db017451a..7377556cb 100644 --- a/testcases/network/can/filter-tests/can_filter.c +++ b/testcases/network/can/filter-tests/can_filter.c @@ -1,63 +1,15 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) /* - * tst-filter.c - * * Copyright (c) 2011 Volkswagen Group Electronic Research - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Volkswagen nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * Alternatively, provided that this notice is retained in full, this - * software may be distributed under the terms of the GNU General - * Public License ("GPL") version 2, in which case the provisions of the - * GPL apply INSTEAD OF those given above. - * - * The provided data structures and external interfaces from this code - * are not restricted to be used by modules with a GPL compatible license. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * Send feedback to - * + * Copyright (c) 2021 SUSE LLC */ -#include -#include -#include -#include - -#include -#include -#include -#include -#include #include "config.h" -#include "tst_res_flags.h" +#include "tst_test.h" #ifdef HAVE_LINUX_CAN_H -#include -#include +#include "can_common.h" #define ID 0x123 #define TC 18 /* # of testcases */ @@ -66,7 +18,9 @@ const int rx_res[TC] = { 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1 }; const int rxbits_res[TC] = { 4369, 4369, 4369, 4369, 17, 4352, 17, 4352, 257, 257, 4112, 4112, 1, 256, 16, 4096, 1, 256 }; -canid_t calc_id(int testcase) +static int s; + +static canid_t calc_id(int testcase) { canid_t id = ID; @@ -78,7 +32,7 @@ canid_t calc_id(int testcase) return id; } -canid_t calc_mask(int testcase) +static canid_t calc_mask(int testcase) { canid_t mask = CAN_SFF_MASK; @@ -93,174 +47,151 @@ canid_t calc_mask(int testcase) return mask; } -int main(int argc, char **argv) +static void setup(void) { - fd_set rdfs; - struct timeval tv; - int s; struct sockaddr_can addr; - struct can_filter rfilter; - struct can_frame frame; - int testcase; - int have_rx; - int rx; - int rxbits, rxbitval; - int ret; - int recv_own_msgs = 1; struct ifreq ifr; + int recv_own_msgs = 1; - /* check command line options */ - if (argc != 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return TFAIL; - } + can_setup_vcan(); - s = socket(PF_CAN, SOCK_RAW, CAN_RAW); - if (s < 0) { - perror("socket"); - return TFAIL; - } + s = SAFE_SOCKET(PF_CAN, SOCK_RAW, CAN_RAW); + + strcpy(ifr.ifr_name, can_dev_name); + SAFE_IOCTL(s, SIOCGIFINDEX, &ifr); - strcpy(ifr.ifr_name, argv[1]); - if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { - perror("SIOCGIFINDEX"); - return TFAIL; - } addr.can_family = AF_CAN; addr.can_ifindex = ifr.ifr_ifindex; - setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS, - &recv_own_msgs, sizeof(recv_own_msgs)); + SAFE_SETSOCKOPT(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS, + &recv_own_msgs, sizeof(recv_own_msgs)); - if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { - perror("bind"); - return TFAIL; - } + SAFE_BIND(s, (struct sockaddr *)&addr, sizeof(addr)); +} - printf("---\n"); +static void cleanup(void) +{ + if (s) + SAFE_CLOSE(s); - for (testcase = 0; testcase < TC; testcase++) { + can_cleanup_vcan(); +} - rfilter.can_id = calc_id(testcase); - rfilter.can_mask = calc_mask(testcase); - setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, - &rfilter, sizeof(rfilter)); +static void run(unsigned int n) +{ + fd_set rdfs; + struct timeval tv; + struct can_frame frame; + static struct can_filter rfilter; + int testcase = n; + int have_rx = 1; + int rx = 0; + int rxbits = 0, rxbitval; - printf("testcase %2d filters : can_id = 0x%08X can_mask = " - "0x%08X\n", testcase, rfilter.can_id, rfilter.can_mask); + rfilter.can_id = calc_id(testcase); + rfilter.can_mask = calc_mask(testcase); + SAFE_SETSOCKOPT(s, SOL_CAN_RAW, CAN_RAW_FILTER, + &rfilter, sizeof(rfilter)); - printf("testcase %2d sending patterns ... ", testcase); + tst_res(TINFO, "testcase %2d filters : can_id = 0x%08X can_mask = " + "0x%08X", testcase, rfilter.can_id, rfilter.can_mask); - frame.can_dlc = 1; - frame.data[0] = testcase; + tst_res(TINFO, "testcase %2d sending patterns ... ", testcase); - frame.can_id = ID; - if (write(s, &frame, sizeof(frame)) < 0) { - perror("write"); - exit(1); - } - frame.can_id = (ID | CAN_RTR_FLAG); - if (write(s, &frame, sizeof(frame)) < 0) { - perror("write"); - exit(1); - } - frame.can_id = (ID | CAN_EFF_FLAG); - if (write(s, &frame, sizeof(frame)) < 0) { - perror("write"); - exit(1); - } - frame.can_id = (ID | CAN_EFF_FLAG | CAN_RTR_FLAG); - if (write(s, &frame, sizeof(frame)) < 0) { - perror("write"); - exit(1); - } + frame.can_dlc = 1; + frame.data[0] = testcase; - printf("ok\n"); + frame.can_id = ID; + SAFE_WRITE(1, s, &frame, sizeof(frame)); - have_rx = 1; - rx = 0; - rxbits = 0; + frame.can_id = (ID | CAN_RTR_FLAG); + SAFE_WRITE(1, s, &frame, sizeof(frame)); - while (have_rx) { + frame.can_id = (ID | CAN_EFF_FLAG); + SAFE_WRITE(1, s, &frame, sizeof(frame)); - have_rx = 0; - FD_ZERO(&rdfs); - FD_SET(s, &rdfs); - tv.tv_sec = 0; - tv.tv_usec = 50000; /* 50ms timeout */ + frame.can_id = (ID | CAN_EFF_FLAG | CAN_RTR_FLAG); + SAFE_WRITE(1, s, &frame, sizeof(frame)); - ret = select(s + 1, &rdfs, NULL, NULL, &tv); - if (ret < 0) { - perror("select"); - exit(1); - } + tst_res(TPASS, "testcase %2d Sent patterns", testcase); + + while (have_rx) { + + have_rx = 0; + FD_ZERO(&rdfs); + FD_SET(s, &rdfs); + tv.tv_sec = 0; + tv.tv_usec = 50000; /* 50ms timeout */ + + if (select(s + 1, &rdfs, NULL, NULL, &tv) < 0) + tst_brk(TBROK | TERRNO, "select"); - if (FD_ISSET(s, &rdfs)) { - have_rx = 1; - ret = read(s, &frame, sizeof(struct can_frame)); - if (ret < 0) { - perror("read"); - exit(1); - } - if ((frame.can_id & CAN_SFF_MASK) != ID) { - fprintf(stderr, - "received wrong can_id!\n"); - exit(1); - } - if (frame.data[0] != testcase) { - fprintf(stderr, - "received wrong testcase!\n"); - exit(1); - } - - /* test & calc rxbits */ - rxbitval = 1 << ((frame.can_id & - (CAN_EFF_FLAG | CAN_RTR_FLAG | - CAN_ERR_FLAG)) >> 28); - - /* only receive a rxbitval once */ - if ((rxbits & rxbitval) == rxbitval) { - fprintf(stderr, - "received rxbitval %d twice!\n", - rxbitval); - exit(1); - } - rxbits |= rxbitval; - rx++; - - printf("testcase %2d rx : can_id = 0x%08X rx = " - "%d rxbits = %d\n", testcase, - frame.can_id, rx, rxbits); + if (FD_ISSET(s, &rdfs)) { + have_rx = 1; + SAFE_READ(1, s, &frame, sizeof(struct can_frame)); + + if ((frame.can_id & CAN_SFF_MASK) != ID) + tst_res(TFAIL, "received wrong can_id!"); + + if (frame.data[0] != testcase) + tst_res(TFAIL, "received wrong testcase!"); + + /* test & calc rxbits */ + rxbitval = 1 << ((frame.can_id & + (CAN_EFF_FLAG | CAN_RTR_FLAG | + CAN_ERR_FLAG)) >> 28); + + /* only receive a rxbitval once */ + if ((rxbits & rxbitval) == rxbitval) { + tst_res(TFAIL, "received rxbitval %d twice!", + rxbitval); } + rxbits |= rxbitval; + rx++; + + tst_res(TINFO, "testcase %2d rx : can_id = 0x%08X rx = " + "%d rxbits = %d", testcase, + frame.can_id, rx, rxbits); } - /* rx timed out -> check the received results */ - if (rx_res[testcase] != rx) { - fprintf(stderr, - "wrong rx value in testcase %d : %d (expected " - "%d)\n", testcase, rx, rx_res[testcase]); - exit(1); - } - if (rxbits_res[testcase] != rxbits) { - fprintf(stderr, - "wrong rxbits value in testcase %d : %d " - "(expected %d)\n", testcase, rxbits, - rxbits_res[testcase]); - exit(1); - } - printf("testcase %2d ok\n---\n", testcase); } - - close(s); - - return TPASS; + /* rx timed out -> check the received results */ + if (rx_res[testcase] != rx) { + tst_brk(TBROK, + "wrong rx value in testcase %d : %d (expected " + "%d)", testcase, rx, rx_res[testcase]); + } + if (rxbits_res[testcase] != rxbits) { + tst_brk(TBROK, + "wrong rxbits value in testcase %d : %d " + "(expected %d)", testcase, rxbits, + rxbits_res[testcase]); + } + tst_res(TPASS, "testcase %2d ok", testcase); } +static struct tst_test test = { + .tcnt = TC, + .options = (struct tst_option[]) { + {"D:", &can_dev_name, "-D CAN device name"}, + {} + }, + .setup = setup, + .cleanup = cleanup, + .test = run, + .caps = (struct tst_cap []) { + TST_CAP(TST_CAP_REQ, CAP_NET_RAW), + TST_CAP(TST_CAP_DROP, CAP_SYS_ADMIN), + {} + }, + .needs_drivers = (const char *const[]) { + "vcan", + "can-raw", + NULL + } +}; + #else -int main(void) -{ - printf("The linux/can.h was missing upon compilation.\n"); - return TCONF; -} +TST_TEST_TCONF("The linux/can.h was missing upon compilation"); #endif /* HAVE_LINUX_CAN_H */ From patchwork Wed Jan 20 14:37:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429227 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) 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; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=Ig1oZ6RA; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [IPv6:2001:1418:10:5::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSnQ0dsQz9sB4 for ; Thu, 21 Jan 2021 01:38:34 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 708203C6534 for ; Wed, 20 Jan 2021 15:38:31 +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 [217.194.8.3]) by picard.linux.it (Postfix) with ESMTP id 787E13C63FD for ; Wed, 20 Jan 2021 15:37:40 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-3.smtp.seeweb.it (Postfix) with ESMTPS id BAD9E1A002E3 for ; Wed, 20 Jan 2021 15:37:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153459; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zM704vkttjmVp/mzJS1wza80yMe++CPILRdKR18++gU=; b=Ig1oZ6RA+JiU1G0yHgCkMlhIh2Push2C3Vs533AsmCZLyPFT/letv1eKiIpI22XWNyqVDs 50wVxO/26NMM2bv8lYGV9KXJlZ9kfLGCPApercIM0iWIOYbWVsfjvfcNYfsN2Bz+3vvaB+ FIUHPH4XvNGqzmkPQcwqBsZBmtxMQcE= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 4C4D9AD78; Wed, 20 Jan 2021 14:37:39 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:21 +0000 Message-Id: <20210120143723.26483-6-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-3.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-3.smtp.seeweb.it Subject: [LTP] [PATCH v3 5/7] can_recv_own_msgs: Convert to new library X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Behavior is approximately the same except for the following: * Test will continue after non-fatal errors. * We now check the return value of `setsocketopt` and that I/O completed the specified number of bytes. * The command line arg, device name, must be prepended with `-D` Signed-off-by: Richard Palethorpe --- .../can/filter-tests/can_rcv_own_msgs.c | 273 ++++++------------ 1 file changed, 88 insertions(+), 185 deletions(-) diff --git a/testcases/network/can/filter-tests/can_rcv_own_msgs.c b/testcases/network/can/filter-tests/can_rcv_own_msgs.c index 8ad51d298..517daae51 100644 --- a/testcases/network/can/filter-tests/can_rcv_own_msgs.c +++ b/testcases/network/can/filter-tests/can_rcv_own_msgs.c @@ -1,88 +1,31 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) /* - * tst-rcv-own-msgs.c - * - * Copyright (c) 2010 Volkswagen Group Electronic Research - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of Volkswagen nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * Alternatively, provided that this notice is retained in full, this - * software may be distributed under the terms of the GNU General - * Public License ("GPL") version 2, in which case the provisions of the - * GPL apply INSTEAD OF those given above. - * - * The provided data structures and external interfaces from this code - * are not restricted to be used by modules with a GPL compatible license. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - * DAMAGE. - * - * Send feedback to - * + * Copyright (c) 2011 Volkswagen Group Electronic Research + * Copyright (c) 2021 SUSE LLC */ -#include -#include -#include -#include - -#include -#include -#include -#include -#include #include "config.h" -#include "tst_res_flags.h" -#include "tst_minmax.h" +#include "tst_test.h" #ifdef HAVE_LINUX_CAN_H -#include -#include +#include "can_common.h" +#include "tst_minmax.h" -struct rxs { - int s; - int t; -}; +static int s, t; -struct rxs test_sockets(int s, int t, canid_t can_id) +void test_sockets(canid_t can_id, int expect_rxs, int expect_rxt) { fd_set rdfs; struct timeval tv; int m = MAX(s, t) + 1; int have_rx = 1; struct can_frame frame; - struct rxs rx; - int ret; + int rxs = 0, rxt = 0; frame.can_id = can_id; frame.can_dlc = 0; - if (write(s, &frame, sizeof(frame)) < 0) { - perror("write"); - exit(1); - } - - rx.s = rx.t = 0; + SAFE_WRITE(1, s, &frame, sizeof(frame)); while (have_rx) { @@ -93,164 +36,124 @@ struct rxs test_sockets(int s, int t, canid_t can_id) tv.tv_usec = 50000; /* 50ms timeout */ have_rx = 0; - ret = select(m, &rdfs, NULL, NULL, &tv); - if (ret < 0) { - perror("select"); - exit(1); - } + if (select(m, &rdfs, NULL, NULL, &tv) < 0) + tst_brk(TBROK | TERRNO, "select"); if (FD_ISSET(s, &rdfs)) { have_rx = 1; - ret = read(s, &frame, sizeof(struct can_frame)); - if (ret < 0) { - perror("read"); - exit(1); - } - if (frame.can_id != can_id) { - fprintf(stderr, "received wrong can_id!\n"); - exit(1); - } - rx.s++; + SAFE_READ(1, s, &frame, sizeof(struct can_frame)); + + if (frame.can_id != can_id) + tst_res(TFAIL, "received wrong can_id!"); + + rxs++; } if (FD_ISSET(t, &rdfs)) { have_rx = 1; - ret = read(t, &frame, sizeof(struct can_frame)); - if (ret < 0) { - perror("read"); - exit(1); - } - if (frame.can_id != can_id) { - fprintf(stderr, "received wrong can_id!\n"); - exit(1); - } - rx.t++; + SAFE_READ(1, t, &frame, sizeof(struct can_frame)); + + if (frame.can_id != can_id) + tst_res(TFAIL, "received wrong can_id!"); + + rxt++; } } /* timeout */ - return rx; + tst_res(rxs == expect_rxs && rxt == expect_rxt ? TPASS : TFAIL, + "s received %d of %d, t received %d of %d", + rxs, expect_rxs, rxt, expect_rxt); } -void setopts(int s, int loopback, int recv_own_msgs) +static void setopts(int loopback, int recv_own_msgs) { - setsockopt(s, SOL_CAN_RAW, CAN_RAW_LOOPBACK, &loopback, - sizeof(loopback)); - setsockopt(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS, &recv_own_msgs, - sizeof(recv_own_msgs)); + SAFE_SETSOCKOPT(s, SOL_CAN_RAW, CAN_RAW_LOOPBACK, &loopback, + sizeof(loopback)); + SAFE_SETSOCKOPT(s, SOL_CAN_RAW, CAN_RAW_RECV_OWN_MSGS, &recv_own_msgs, + sizeof(recv_own_msgs)); - printf("check loopback %d recv_own_msgs %d ... ", loopback, - recv_own_msgs); + tst_res(TINFO, "set loopback = %d, recv_own_msgs = %d", + loopback, recv_own_msgs); } -int main(int argc, char **argv) +static void setup(void) { - int s, t; struct sockaddr_can addr; struct ifreq ifr; - struct rxs rx; - /* check command line options */ - if (argc != 2) { - fprintf(stderr, "Usage: %s \n", argv[0]); - return TFAIL; - } + can_setup_vcan(); - s = socket(PF_CAN, SOCK_RAW, CAN_RAW); - if (s < 0) { - perror("socket"); - return TFAIL; - } - t = socket(PF_CAN, SOCK_RAW, CAN_RAW); - if (t < 0) { - perror("socket"); - return TFAIL; - } + s = SAFE_SOCKET(PF_CAN, SOCK_RAW, CAN_RAW); + t = SAFE_SOCKET(PF_CAN, SOCK_RAW, CAN_RAW); + + strcpy(ifr.ifr_name, can_dev_name); + SAFE_IOCTL(s, SIOCGIFINDEX, &ifr); - strcpy(ifr.ifr_name, argv[1]); - if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { - perror("SIOCGIFINDEX"); - return TFAIL; - } addr.can_ifindex = ifr.ifr_ifindex; addr.can_family = AF_CAN; - if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { - perror("bind"); - return TFAIL; - } - if (bind(t, (struct sockaddr *)&addr, sizeof(addr)) < 0) { - perror("bind"); - return TFAIL; - } + SAFE_BIND(s, (struct sockaddr *)&addr, sizeof(addr)); + SAFE_BIND(t, (struct sockaddr *)&addr, sizeof(addr)); +} - printf("Starting PF_CAN frame flow test.\n"); - printf("checking socket default settings ... "); - rx = test_sockets(s, t, 0x340); - if (rx.s == 0 && rx.t == 1) - printf("ok.\n"); - else { - printf("failure!\n"); - return TFAIL; - } +static void cleanup(void) +{ + if (s) + SAFE_CLOSE(s); + if (t) + SAFE_CLOSE(t); - /* check loopback 0 recv_own_msgs 0 */ - setopts(s, 0, 0); - rx = test_sockets(s, t, 0x341); - if (rx.s == 0 && rx.t == 0) - printf("ok.\n"); - else { - printf("failure!\n"); - return TFAIL; - } + can_cleanup_vcan(); +} - /* check loopback 0 recv_own_msgs 1 */ - setopts(s, 0, 1); - rx = test_sockets(s, t, 0x342); - if (rx.s == 0 && rx.t == 0) - printf("ok.\n"); - else { - printf("failure!\n"); - return TFAIL; - } +static void run(void) +{ + tst_res(TINFO, "Starting PF_CAN frame flow test."); + tst_res(TINFO, "checking socket default settings"); + test_sockets(0x340, 0, 1); - /* check loopback 1 recv_own_msgs 0 */ - setopts(s, 1, 0); - rx = test_sockets(s, t, 0x343); - if (rx.s == 0 && rx.t == 1) - printf("ok.\n"); - else { - printf("failure!\n"); - return TFAIL; - } + setopts(0, 0); + test_sockets(0x341, 0, 0); - /* check loopback 1 recv_own_msgs 1 */ - setopts(s, 1, 1); - rx = test_sockets(s, t, 0x344); - if (rx.s == 1 && rx.t == 1) - printf("ok.\n"); - else { - printf("failure!\n"); - return TFAIL; - } + setopts(0, 1); + test_sockets(0x342, 0, 0); - printf("PF_CAN frame flow test was successful.\n"); + setopts(1, 0); + test_sockets(0x343, 0, 1); - close(s); - close(t); + setopts(1, 1); + test_sockets(0x344, 1, 1); - return TPASS; + /* Return to defaults for when -i is used */ + setopts(1, 0); } +static struct tst_test test = { + .options = (struct tst_option[]) { + {"D:", &can_dev_name, "-D CAN device name"}, + {} + }, + .setup = setup, + .cleanup = cleanup, + .test_all = run, + .caps = (struct tst_cap []) { + TST_CAP(TST_CAP_REQ, CAP_NET_RAW), + TST_CAP(TST_CAP_DROP, CAP_SYS_ADMIN), + {} + }, + .needs_drivers = (const char *const[]) { + "vcan", + "can-raw", + NULL + } +}; + #else -int main(void) -{ - printf("The linux/can.h was missing upon compilation.\n"); - return TCONF; -} +TST_TEST_TCONF("The linux/can.h was missing upon compilation"); #endif /* HAVE_LINUX_CAN_H */ From patchwork Wed Jan 20 14:37:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429229 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=HHJ6F2uY; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSnp1krlz9sB4 for ; Thu, 21 Jan 2021 01:38:54 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id AF2FA3C64FA for ; Wed, 20 Jan 2021 15:38:51 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-2.smtp.seeweb.it (in-2.smtp.seeweb.it [IPv6:2001:4b78:1:20::2]) by picard.linux.it (Postfix) with ESMTP id F33C73C63FD for ; Wed, 20 Jan 2021 15:37:40 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-2.smtp.seeweb.it (Postfix) with ESMTPS id 1839B600C91 for ; Wed, 20 Jan 2021 15:37:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153459; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VrEiCKkMfjbW/Ymz+VaVQpAzkPgExNsvxYEOMFDKDMU=; b=HHJ6F2uYcINQfF+SGVnp2Bj8aeYzHUeEbhonCV1PzGrZWZgVyMS/6ti5CMBU+/8NuKK24+ f8Nygf/ioKwOU8WXPprUGGcavZH5BLNlrx9Tgx1p4729yOIo8ONvHGvwg18mwOZKKoGJI8 PCKFNmSU+VygdoWbTAtkzwNJkCN9XmA= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id AD006AD87; Wed, 20 Jan 2021 14:37:39 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:22 +0000 Message-Id: <20210120143723.26483-7-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-2.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-2.smtp.seeweb.it Subject: [LTP] [PATCH v3 6/7] can: Remove obsolete test wrapper script X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" Functionality moved into can_common.h and the test executables. Signed-off-by: Richard Palethorpe Reviewed-by: Petr Vorel --- testcases/network/can/Makefile | 2 - .../can/filter-tests/00_Descriptions.txt | 1 + testcases/network/can/filter-tests/INSTALL | 3 +- testcases/network/can/filter-tests/Makefile | 2 - .../network/can/filter-tests/can_run_tests.sh | 106 ------------------ 5 files changed, 3 insertions(+), 111 deletions(-) delete mode 100755 testcases/network/can/filter-tests/can_run_tests.sh diff --git a/testcases/network/can/Makefile b/testcases/network/can/Makefile index 31744534a..a69f6be87 100644 --- a/testcases/network/can/Makefile +++ b/testcases/network/can/Makefile @@ -22,6 +22,4 @@ top_srcdir ?= ../../.. include $(top_srcdir)/include/mk/env_pre.mk -INSTALL_TARGETS := *.sh - include $(top_srcdir)/include/mk/generic_trunk_target.mk diff --git a/testcases/network/can/filter-tests/00_Descriptions.txt b/testcases/network/can/filter-tests/00_Descriptions.txt index 89610982c..55d213456 100644 --- a/testcases/network/can/filter-tests/00_Descriptions.txt +++ b/testcases/network/can/filter-tests/00_Descriptions.txt @@ -5,5 +5,6 @@ information on the CAN network protocol family PF_CAN is contained in . For any issue(s) with CAN tests please write to: + , Oliver Hartkopp , diff --git a/testcases/network/can/filter-tests/INSTALL b/testcases/network/can/filter-tests/INSTALL index e549aed0f..7d62d65fe 100644 --- a/testcases/network/can/filter-tests/INSTALL +++ b/testcases/network/can/filter-tests/INSTALL @@ -12,7 +12,8 @@ enable CAN protocol, please see ltp/README file. $ make 2) To Run the tests from this directory, do: -$ ./run_ltp-can_tests.sh +$ ./can_filter +$ ./can_rcv_own_msgs 3) To let LTP run the tests from $LTPROOT, execute: $ ./runltp -f can diff --git a/testcases/network/can/filter-tests/Makefile b/testcases/network/can/filter-tests/Makefile index 6a9474164..29aaa3240 100644 --- a/testcases/network/can/filter-tests/Makefile +++ b/testcases/network/can/filter-tests/Makefile @@ -23,6 +23,4 @@ include $(top_srcdir)/include/mk/testcases.mk CPPFLAGS += -DETH_P_CAN=0x000C -DPF_CAN=29 -DAF_CAN=PF_CAN -INSTALL_TARGETS := *.sh - include $(top_srcdir)/include/mk/generic_leaf_target.mk diff --git a/testcases/network/can/filter-tests/can_run_tests.sh b/testcases/network/can/filter-tests/can_run_tests.sh deleted file mode 100755 index 762d90eca..000000000 --- a/testcases/network/can/filter-tests/can_run_tests.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/sh -################################################################################ -## Copyright (c) Oliver Hartkopp , 2011 ## -## Copyright (c) International Business Machines Corp., 2009 ## -## ## -## This program is free software; you can redistribute it and#or modify ## -## it under the terms of the GNU General Public License as published by ## -## the Free Software Foundation; either version 2 of the License, or ## -## (at your option) any later version. ## -## ## -## This program is distributed in the hope that it will be useful, but ## -## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## -## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## -## for more details. ## -## ## -## You should have received a copy of the GNU General Public License ## -## along with this program; if not, write to the Free Software Foundation, ## -## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## -## ## -################################################################################ - -TCID="$1" -TST_TOTAL=1 -export TST_COUNT - -. test.sh - -setup() -{ - tst_require_root - - # load needed CAN networklayer modules - modprobe can - ret=$? - if [ $ret -ne 0 ]; then - tst_brkm TCONF "modprobe can failed: ret - $ret" - fi - - modprobe can_raw - ret=$? - if [ $ret -ne 0 ]; then - tst_brkm TCONF "modprobe can_raw failed: ret - $ret" - fi - - # ensure the vcan driver to perform the ECHO on driver level - modprobe -r vcan - ret=$? - if [ $ret -ne 0 ]; then - tst_brkm TCONF "modprobe -r vcan failed: ret - $ret" - fi - - modprobe vcan echo=1 - ret=$? - if [ $ret -ne 0 ]; then - tst_brkm TCONF "modprobe vcan echo=1 failed: ret - $ret" - fi - - VCAN=vcan0 - - # create virtual CAN device - ip link add dev $VCAN type vcan - ret=$? - if [ $ret -ne 0 ]; then - tst_brkm TBROK \ - "ip link add dev $VCAN type vcan failed: ret - $ret" - fi - - ip link set dev $VCAN up - ret=$? - if [ $ret -ne 0 ]; then - tst_brkm TBROK "ip link set dev $VCAN up failed: ret - $ret" - fi - - # check precondition for CAN frame flow test - HAS_ECHO=`ip link show $VCAN | grep -c ECHO` - if [ $HAS_ECHO -ne 1 ]; then - tst_brkm TBROK "ECHO is not 1" - fi -} - -cleanup() -{ - ip link set dev $VCAN down - ip link del dev $VCAN - modprobe -r vcan - modprobe -r can_raw - modprobe -r can -} - -if [ $# -ne 1 ]; then - tst_brkm TBROK "Usage: $0 [can_filter | can_rcv_own_msgs]" -fi - -setup -TST_CLEANUP=cleanup - -"$1" "$VCAN" -ret=$? -case "$ret" in -0) tst_resm TPASS "Test $1 PASS";; -1) tst_resm TFAIL "Test $1 FAIL";; -32) tst_resm TCONF "$1 is not appropriate for configuration flag";; -*) tst_resm TBROK "Invalid resm type $ret";; -esac - -tst_exit From patchwork Wed Jan 20 14:37:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Palethorpe X-Patchwork-Id: 1429228 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it (client-ip=213.254.12.146; helo=picard.linux.it; envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=susede1 header.b=aajR17uS; dkim-atps=neutral Received: from picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DLSnd2cR9z9sB4 for ; Thu, 21 Jan 2021 01:38:45 +1100 (AEDT) Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 6D8E33C880F for ; Wed, 20 Jan 2021 15:38:42 +0100 (CET) X-Original-To: ltp@lists.linux.it Delivered-To: ltp@picard.linux.it Received: from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [217.194.8.6]) by picard.linux.it (Postfix) with ESMTP id B37F93C6535 for ; Wed, 20 Jan 2021 15:37:40 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 7954A1400E67 for ; Wed, 20 Jan 2021 15:37:40 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1611153460; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2j0XbK/1WjIdhU456gkB7ScjrGdsote0niueTWY6heM=; b=aajR17uSNHPtQmCvNzhtnlfi6AGrnOJo8Be8WOecBeh+KAeAMdT7QV1RKePB80iQo72Qd7 ez6dme0WUqL45uwDo3p5qkpJggSsLwP9MWWu7hpv8d37pNBHWYdz4KnK+glLJbflERvZRJ mvTOfDrOW7E9JD3dk/1z+oSvmDR5Tlc= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 1CC0FAD8C; Wed, 20 Jan 2021 14:37:40 +0000 (UTC) To: ltp@lists.linux.it Date: Wed, 20 Jan 2021 14:37:23 +0000 Message-Id: <20210120143723.26483-8-rpalethorpe@suse.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210120143723.26483-1-rpalethorpe@suse.com> References: <20210120143723.26483-1-rpalethorpe@suse.com> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.102.4 at in-6.smtp.seeweb.it X-Virus-Status: Clean X-Spam-Status: No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=disabled version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on in-6.smtp.seeweb.it Subject: [LTP] [PATCH v3 7/7] can: Update contact details X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Richard Palethorpe via ltp From: Richard Palethorpe Reply-To: Richard Palethorpe Cc: Oliver Hartkopp , Marc Kleine-Budde , Richard Palethorpe , linux-can@vger.kernel.org Errors-To: ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it Sender: "ltp" socketcan-users appears to be no more. Signed-off-by: Richard Palethorpe Acked-by: Oliver Hartkopp Reviewed-by: Cyril Hrubis --- testcases/network/can/filter-tests/00_Descriptions.txt | 5 +++-- testcases/network/can/filter-tests/Makefile | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/testcases/network/can/filter-tests/00_Descriptions.txt b/testcases/network/can/filter-tests/00_Descriptions.txt index 55d213456..9623d29a0 100644 --- a/testcases/network/can/filter-tests/00_Descriptions.txt +++ b/testcases/network/can/filter-tests/00_Descriptions.txt @@ -6,5 +6,6 @@ information on the CAN network protocol family PF_CAN is contained in For any issue(s) with CAN tests please write to: -, -Oliver Hartkopp , +Oliver Hartkopp +Linux-CAN ML + diff --git a/testcases/network/can/filter-tests/Makefile b/testcases/network/can/filter-tests/Makefile index 29aaa3240..bd57c7fff 100644 --- a/testcases/network/can/filter-tests/Makefile +++ b/testcases/network/can/filter-tests/Makefile @@ -14,8 +14,6 @@ # You should have received a copy of the GNU General Public License along # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -# -# Send feedback to top_srcdir ?= ../../../..