From patchwork Wed Jun 21 12:57:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhangjin Wu X-Patchwork-Id: 111005 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp4353228vqr; Wed, 21 Jun 2023 06:12:27 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6LQMmhhUHUC7TpwZ/cm7bfGbszsttZopSV/2ko+GOhdLJEPPoyt9EgmLyPVDH1pZgHnPKy X-Received: by 2002:a17:90b:3b89:b0:25e:fdb9:1948 with SMTP id pc9-20020a17090b3b8900b0025efdb91948mr8136830pjb.11.1687353147576; Wed, 21 Jun 2023 06:12:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687353147; cv=none; d=google.com; s=arc-20160816; b=DW03NT6CtiOWfGEnm0bVtd8FQjBhn5QmVNijGKrhJEayb8hmi0ipTav1iueKGRpmCy IKO44xp/tXg5J9qX+bIE14EDpAo8Tws7hJjEx5PLu2QEEqhW+c66DxodFhMa9Ym9TaPJ i49vXsK6BshhaABl0q/yyxDX5yuLyxQX1ADBbIRm4zgbOPzV2kRjjpXZ3Sbh5L5c93Fv YgMW2/ebi7wPAzA20YYzwGk0ORq6xgSrDGxxdg2CTQeWEHpRIfTuELScMkIBLauxvwOJ d9vto7ijsZQVwKcFH7eRCkkYUj5+s0sT1pO4oupo72RmbJlwUhWOh8ZSF8AiduFSw4rv zKRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:feedback-id:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from; bh=x7dCWZlRQhDhJdSsTW0XrbUAyMj/7ZQdkjvNyiLVKX0=; b=Ql7vpuY+bMJ0+ZTANWwBVbkrx+3UEZuDmQBXUoaqALelCdtZ/jKkFvrrq8uIkC5nML X/1Aidxas6xXOPF+G8AbHGFin7tHQlkaRXHwbeh2M5tRXqWJPSmzHFUvCKfszkMY1Pwv hNycWJ+psdVW+OSTvxL46M8RdWMpkBStUfuGrdzMrvpwOAvlEBCJoso3jwTsXnUAdKRs dpXtVehWcZ7UsHi1ELXxEVJetFECD+sM3erhNEeVAtSWM8tPTeuD0bE39HxQppIVp3F9 A/M4EOEAidiZRdA6MhIIxFfwd9KbqZu2zCV7sFGs/sCx3Vkfus6WEMup1yjc0UMB4bOo JUZQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pc16-20020a17090b3b9000b0025e0ecee2dfsi12803506pjb.113.2023.06.21.06.12.14; Wed, 21 Jun 2023 06:12:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232106AbjFUM6H (ORCPT + 99 others); Wed, 21 Jun 2023 08:58:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230174AbjFUM6G (ORCPT ); Wed, 21 Jun 2023 08:58:06 -0400 Received: from bg4.exmail.qq.com (bg4.exmail.qq.com [43.155.65.254]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2ED4BE72; Wed, 21 Jun 2023 05:58:04 -0700 (PDT) X-QQ-mid: bizesmtp78t1687352274tr2s7sp4 Received: from linux-lab-host.localdomain ( [116.30.126.60]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 21 Jun 2023 20:57:53 +0800 (CST) X-QQ-SSF: 01200000000000D0V000000A0000000 X-QQ-FEAT: QityeSR92A3lpCGQzuzSiXYnrZ4Ms2NBo4oH5dQTYOsceoGFTIPlmCJgRv0R+ s4uzXOz3pXCl4KJPtMgReBObXqC/ju+Gu/brbsuDexhdK9Eo3NLUmlAxcPg1BVViKeVcIjh bjO8/XuAMPkegjfs4p8H9ey54mSrtIFLR0eN3N+By+bkUUMJuzawFdgH92uHSh2QaWb1yIZ nRs7r8IZInAoySDLFF1ZIEPddk2qWQKDYPdLKJSyrFdZ06BmZ5jfYvB55JTN769R8m3eGVB AT9eKVwW88mxy8H0m7WwLaFveZKY1sPCpddc4iXTPjzsPP/ZV8znhNgSY31/rGuKBTDvmIw d9Zi+dJo6NCAkeQMLScWh2IoKVaa51OkOXOHPpkbTtDtG69mrS/8wdW42FXtw== X-QQ-GoodBg: 0 X-BIZMAIL-ID: 8080205378424909828 From: Zhangjin Wu To: w@1wt.eu Cc: thomas@t-8ch.de, arnd@arndb.de, falcon@tinylab.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH v1 04/17] selftests/nolibc: fix up kernel parameters support Date: Wed, 21 Jun 2023 20:57:41 +0800 Message-Id: <8e3e44492c986f691a778322e3eaf483e1734e90.1687344643.git.falcon@tinylab.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:tinylab.org:qybglogicsvrsz:qybglogicsvrsz3a-3 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769318014194254866?= X-GMAIL-MSGID: =?utf-8?q?1769318014194254866?= kernel parameters allow pass two types of strings, one type is like 'noapic', another type is like 'panic=5', the first type is passed as arguments of the init program, the second type is passed as environment variables of the init program. when users pass kernel parameters like this: noapic NOLIBC_TEST=syscall our nolibc-test program will ignore the NOLIBC_TEST environment variable. Let's verify the first type (from arguments), if it is invalid, get the test setting from NOLIBC_TEST environment variable instead. Signed-off-by: Zhangjin Wu --- tools/testing/selftests/nolibc/nolibc-test.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/nolibc/nolibc-test.c b/tools/testing/selftests/nolibc/nolibc-test.c index d43116553288..ebec948ec808 100644 --- a/tools/testing/selftests/nolibc/nolibc-test.c +++ b/tools/testing/selftests/nolibc/nolibc-test.c @@ -951,6 +951,7 @@ int main(int argc, char **argv, char **envp) int ret = 0; int err; int idx; + int len, valid = 0; char *test; environ = envp; @@ -969,7 +970,19 @@ int main(int argc, char **argv, char **envp) * syscall:5-15[:.*],stdlib:8-10 */ test = argv[1]; - if (!test) + + /* verify the test setting from argv[1] */ + if (test) { + for (idx = 0; test_names[idx].name; idx++) { + len = strlen(test_names[idx].name); + if (strncmp(test, test_names[idx].name, len) == 0) { + valid = 1; + break; + } + } + } + + if (!valid) test = getenv("NOLIBC_TEST"); if (test) {