Received: by 2002:a25:2c96:0:0:0:0:0 with SMTP id s144csp613261ybs; Sun, 24 May 2020 15:44:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnF0hsh4A44DkcUw45J8xItKZXy4XyaJD3fw6IHUQb3vUB02NwyRy/b3LuKH0NXi97s9Ke X-Received: by 2002:a17:906:f916:: with SMTP id lc22mr16716553ejb.96.1590360287128; Sun, 24 May 2020 15:44:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590360287; cv=none; d=google.com; s=arc-20160816; b=Du28Kp+RNFArbdg1zP/ub63Q3txuF4MCdJmT54ysFUvdjOmU3Nq2fub7BwFQWlb39b 1A0tgxb/sDjydpXuPuMIhGlfcBoVBtJlle+stIK9atPo+wc+PFbhchiQm8YbSTT0Kr4i 7mi12v1iOk0MqhNAFZMSlQOdsD0JlDuSQexjuOPwOJwPJmbzAQhGXV946gQwR+evNmPD Y/+KojnzFMqWmpKKMFgPI895SNIy0jOH3mLLDqKcWsw+B1jgpJMJPctGvoTIjUGBqpSF nhdP/WN0CsPPHgxiohQi8IU1k0XBm+Strkh2e1ukFSnnDAWK3E6wy420K/R74I3YDZ4D xE8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=IzhGWkMH6l95G9GhKBD8bLA8yCatKIna93+aCEMNtXc=; b=yFdxo+ucEmEpi8RaUClam/g3t4lrQSzbyOWlbAe6ioN0c3U8XklXKYHeDh3X81VS0/ RFfXo3gYnOwZ84qzgNaatwf4zdawVTx2qHZWhFC42KQQvpduVXLOOPC0pc1Q1Dkf85+z +Xecfyn1uheBRiQr0Lx7bD7OQ9/hajbglfG42TwUi7wtuOmcA3E9dmt9gUlB/JTHSl1V hmo/7MIKEgDAi+TE/lRWaybMYyJ/E9sdKnENv3p5ugFg5+jdlex3l6xmTr1y0YGu4KLX we8d5uCChsoNR7n9ivoqBwm3imgSyIOnA/PGSMglUPRlOLV8sSDVDRuy6SfvyVx2798d HtrQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h6si8034902edl.466.2020.05.24.15.44.24; Sun, 24 May 2020 15:44:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388457AbgEXWmi convert rfc822-to-8bit (ORCPT + 99 others); Sun, 24 May 2020 18:42:38 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:38402 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2387850AbgEXWmh (ORCPT ); Sun, 24 May 2020 18:42:37 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-142-Wm1SiBvxNDG89WH77f9hlQ-1; Sun, 24 May 2020 18:42:28 -0400 X-MC-Unique: Wm1SiBvxNDG89WH77f9hlQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B18AF460; Sun, 24 May 2020 22:42:26 +0000 (UTC) Received: from krava.redhat.com (unknown [10.40.192.57]) by smtp.corp.redhat.com (Postfix) with ESMTP id 852E95D788; Sun, 24 May 2020 22:42:23 +0000 (UTC) From: Jiri Olsa To: Arnaldo Carvalho de Melo Cc: lkml , Ingo Molnar , Namhyung Kim , Alexander Shishkin , Peter Zijlstra , Michael Petlan , Ian Rogers , Stephane Eranian , Andi Kleen Subject: [PATCH 01/14] perf tests: Check on subtest for user specified test Date: Mon, 25 May 2020 00:42:06 +0200 Message-Id: <20200524224219.234847-2-jolsa@kernel.org> In-Reply-To: <20200524224219.234847-1-jolsa@kernel.org> References: <20200524224219.234847-1-jolsa@kernel.org> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: kernel.org Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It's now possible to put subtest name as a test filter: $ perf test 'PMU event table sanity' 10: PMU events : 10.1: PMU event table sanity : Ok Signed-off-by: Jiri Olsa --- tools/perf/tests/builtin-test.c | 34 +++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c index 9553f8061772..a9daaeb9fd27 100644 --- a/tools/perf/tests/builtin-test.c +++ b/tools/perf/tests/builtin-test.c @@ -334,7 +334,7 @@ static struct test *tests[] = { arch_tests, }; -static bool perf_test__matches(struct test *test, int curr, int argc, const char *argv[]) +static bool perf_test__matches(const char *desc, int curr, int argc, const char *argv[]) { int i; @@ -351,7 +351,7 @@ static bool perf_test__matches(struct test *test, int curr, int argc, const char continue; } - if (strcasestr(test->desc, argv[i])) + if (strcasestr(desc, argv[i])) return true; } @@ -580,7 +580,7 @@ static int run_shell_tests(int argc, const char *argv[], int i, int width) .priv = &st, }; - if (!perf_test__matches(&test, curr, argc, argv)) + if (!perf_test__matches(test.desc, curr, argc, argv)) continue; st.file = ent->d_name; @@ -608,9 +608,25 @@ static int __cmd_test(int argc, const char *argv[], struct intlist *skiplist) for_each_test(j, t) { int curr = i++, err; + int subi; - if (!perf_test__matches(t, curr, argc, argv)) - continue; + if (!perf_test__matches(t->desc, curr, argc, argv)) { + bool skip = true; + int subn; + + if (!t->subtest.get_nr) + continue; + + subn = t->subtest.get_nr(); + + for (subi = 0; subi < subn; subi++) { + if (perf_test__matches(t->subtest.get_desc(subi), curr, argc, argv)) + skip = false; + } + + if (skip) + continue; + } if (t->is_supported && !t->is_supported()) { pr_debug("%2d: %-*s: Disabled\n", i, width, t->desc); @@ -638,7 +654,6 @@ static int __cmd_test(int argc, const char *argv[], struct intlist *skiplist) */ int subw = width > 2 ? width - 2 : width; bool skip = false; - int subi; if (subn <= 0) { color_fprintf(stderr, PERF_COLOR_YELLOW, @@ -655,6 +670,9 @@ static int __cmd_test(int argc, const char *argv[], struct intlist *skiplist) } for (subi = 0; subi < subn; subi++) { + if (!perf_test__matches(t->subtest.get_desc(subi), curr, argc, argv)) + continue; + pr_info("%2d.%1d: %-*s:", i, subi + 1, subw, t->subtest.get_desc(subi)); err = test_and_print(t, skip, subi); @@ -688,7 +706,7 @@ static int perf_test__list_shell(int argc, const char **argv, int i) .desc = shell_test__description(bf, sizeof(bf), path, ent->d_name), }; - if (!perf_test__matches(&t, curr, argc, argv)) + if (!perf_test__matches(t.desc, curr, argc, argv)) continue; pr_info("%2d: %s\n", i, t.desc); @@ -707,7 +725,7 @@ static int perf_test__list(int argc, const char **argv) for_each_test(j, t) { int curr = i++; - if (!perf_test__matches(t, curr, argc, argv) || + if (!perf_test__matches(t->desc, curr, argc, argv) || (t->is_supported && !t->is_supported())) continue; -- 2.25.4