From patchwork Wed Nov 29 21:34:25 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 171577 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a5a7:0:b0:403:3b70:6f57 with SMTP id d7csp632742vqn; Wed, 29 Nov 2023 13:35:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IGQItoz1O1kOsNiukYsLrnNf9TgBBPslJ8mtI5/dAGWKncSrz04OjuzcipACtOHLUcd1A1h X-Received: by 2002:a05:6a20:6a0e:b0:18a:7498:de11 with SMTP id p14-20020a056a206a0e00b0018a7498de11mr22923028pzk.4.1701293704295; Wed, 29 Nov 2023 13:35:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701293704; cv=none; d=google.com; s=arc-20160816; b=N0HRVMRgTDCElC2odtpw6iGBCpnFVWnSjIqWPYQdmD4aJ/eNsD7vPOyI5FC6RgvHD1 4LjKgsMEqG7+UyV08n1UXema0lIhUf2xwAiUtsZ+LBjfFXiBrr08KwAlTlG4oFpiWgHo cThy+NksaTvJ1ong7tdZjbPdjxQ2hA46dj271ldFkxBIuQ2r7CnuRmVvJf+wCTLWBMGL VBefwVMWssZaR+7aNlVNi42NTtORHX1H/IEddJFHrQ1kuQ0Li3CUZFiv0da4cqIsP+Em N3giotoxPpSoqkzi9uBLDrHsdSZ2xtxpodcDGzFDQ3w8815EAJjmNYUHSxTzposjWVk1 rJ9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:from:subject:mime-version:message-id:date :dkim-signature; bh=5YO3106VcJoEnKsYaYybDwf29d5B1fnPm7TdPpVslxA=; fh=s+iVIXVUBgtmrgM30VqFskabmg0Jfr2GIun8/h4Dwpg=; b=IJFwW1QZgLIx5Ca3CIJKbvG0iujS7xXct4bCeGQ5kFBBU3uWP0J9Lscs7hKa3PNiR3 rSJimEcJOQFAignsLSbkoSoQCXqEmnjvJQOYuNX/AJFjDd8FPCtl4ckpK8U0X1EFMq09 Uwqqkw6/d9T6FuGU8uMarHLjEeWJ/xwnGU89kGtM5Yfz6Fbtk6FBvgXW5N9X3z/fB0wC t+Denc8sHwYnEyqpAGtgZR8EaFiAO3c9dFFrlf5cW2zvxveyR/hy0w4gYnt/9ZgTvD+G DuXM92zXxSR61u5P0R4A0Oc4aZBhU/6UnPKH1135WzH50cXS303w37Y7JEuLwzIH0BFZ Iz2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=Ic379tAt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id 16-20020a631650000000b005c233bce486si11707178pgw.116.2023.11.29.13.35.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 13:35:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=Ic379tAt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 3F683804083D; Wed, 29 Nov 2023 13:34:59 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234252AbjK2Veu (ORCPT + 99 others); Wed, 29 Nov 2023 16:34:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59680 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229847AbjK2Ves (ORCPT ); Wed, 29 Nov 2023 16:34:48 -0500 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DCC4DD7D for ; Wed, 29 Nov 2023 13:34:53 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5c87663a873so3331887b3.2 for ; Wed, 29 Nov 2023 13:34:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701293693; x=1701898493; darn=vger.kernel.org; h=to:from:subject:mime-version:message-id:date:from:to:cc:subject :date:message-id:reply-to; bh=5YO3106VcJoEnKsYaYybDwf29d5B1fnPm7TdPpVslxA=; b=Ic379tAtShN+caolBP6/lBFDRShmDdp3ndgxKzBOosiLlGaYN2JS0+qV/62/3xOcJj qfY3glRhEwbPL0FuxSO1ROee8uutWpDbvSHzZf1/LYAPCnp1y95bzVND7Brs9pmPmPmS hfoGOkjE30OmlN9pvQLRJghuWInS6oC6eM+KFDdN+5+EPPCfhIel4yds2TKFPI6fT1el HfIP8mJoHbc4/31l9iRbJLgv1Tf62HyadlSmvyT+kascHioW7dHEKKZmvahl8zzhJRbZ CKXsp11eEbADSoFwk0WdqeSr3qZHsGrg2oec6qi9xEjRUd8XfUH+qXAxQS7nVP2o/3Ct VOpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701293693; x=1701898493; h=to:from:subject:mime-version:message-id:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=5YO3106VcJoEnKsYaYybDwf29d5B1fnPm7TdPpVslxA=; b=vBgQyFeH0W3bY8vxjD0LajI+qfCdiuyX5ox8D2jY7RoAFyVMgT8/3ZvsF4CLwSe5/E 6LFZHPNhPdokTsr+OeUEuFVVLH2yaBFvtK7R2P4AXItO6ESiLMlDiRKbz+e/FD0du8TK 2r6vXZHlh4uzz872UF3mo2Gx7XfaoIx8sQNNi/xWTlGXqta1INULcy/xKp3yEfmPoB3E GrB8fL3NqaH0IzM9wCpVKYzWkNDuoMaf4t7KxNM1RuMNtQLYWWD8Wh3g6u9ay8bjO5o9 dOTL1Wgrh0bfPBRQoAAQ2JD+muP3bHUwi0E8cwBUzOOb2ySSLv27SnY1Vhm8KoYde4/Q naKg== X-Gm-Message-State: AOJu0YwM6ZyhYjFhE3jjrxLFqM6+2UrSe3SH1HKnLuRyhF3r+ZaSGR4D vfWRPGL8Dw3I5QhQMMzVFrrW5HlVkijV X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:763b:80fa:23ca:96f8]) (user=irogers job=sendgmr) by 2002:a05:690c:a98:b0:5ca:f857:2bf6 with SMTP id ci24-20020a05690c0a9800b005caf8572bf6mr699400ywb.5.1701293693154; Wed, 29 Nov 2023 13:34:53 -0800 (PST) Date: Wed, 29 Nov 2023 13:34:25 -0800 Message-Id: <20231129213428.2227448-1-irogers@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Subject: [PATCH v2 1/4] perf build: Shellcheck support for OUTPUT directory From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Kan Liang , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, James Clark , Athira Rajeev X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 29 Nov 2023 13:34:59 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783935747678318799 X-GMAIL-MSGID: 1783935747678318799 Migrate Makefile.tests to Build so that variables like rule_mkdir are defined via Makefile.build (needed so the output directory can be created). This requires SHELLCHECK being exported and the clean rule tweaking to remove the files in find. Change find "-perm -o=x" as it was failing on my Debian based Linux kernel tree, switch to using "-executable". Adding a filename prefix of "." to the shellcheck log files is a pain and error prone in make, remove this prefix and just add the shellcheck log files to .gitignore. Fix the command echo so that running the test is displayed. Fixes: 1638b11ef815 ("perf tools: Add perf binary dependent rule for shellcheck log in Makefile.perf") Signed-off-by: Ian Rogers Reviewed-by: Athira Rajeev --- tools/perf/.gitignore | 3 +++ tools/perf/Makefile.perf | 30 ++++++++++-------------------- tools/perf/tests/Build | 14 ++++++++++++++ tools/perf/tests/Makefile.tests | 22 ---------------------- 4 files changed, 27 insertions(+), 42 deletions(-) delete mode 100644 tools/perf/tests/Makefile.tests diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore index ee5c14f3b8b1..f5b81d439387 100644 --- a/tools/perf/.gitignore +++ b/tools/perf/.gitignore @@ -39,6 +39,9 @@ trace/beauty/generated/ pmu-events/pmu-events.c pmu-events/jevents pmu-events/metric_test.log +tests/shell/*.shellcheck_log +tests/shell/coresight/*.shellcheck_log +tests/shell/lib/*.shellcheck_log feature/ libapi/ libbpf/ diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 824cbc0af7d7..1ab2a908f240 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -229,8 +229,15 @@ else force_fixdep := $(config) endif +# Runs shellcheck on perf test shell scripts +ifeq ($(NO_SHELLCHECK),1) + SHELLCHECK := +else + SHELLCHECK := $(shell which shellcheck 2> /dev/null) +endif + export srctree OUTPUT RM CC CXX LD AR CFLAGS CXXFLAGS V BISON FLEX AWK -export HOSTCC HOSTLD HOSTAR HOSTCFLAGS +export HOSTCC HOSTLD HOSTAR HOSTCFLAGS SHELLCHECK include $(srctree)/tools/build/Makefile.include @@ -673,23 +680,7 @@ $(PERF_IN): prepare FORCE $(PMU_EVENTS_IN): FORCE prepare $(Q)$(MAKE) -f $(srctree)/tools/build/Makefile.build dir=pmu-events obj=pmu-events -# Runs shellcheck on perf test shell scripts - -SHELLCHECK := $(shell which shellcheck 2> /dev/null) - -ifeq ($(NO_SHELLCHECK),1) -SHELLCHECK := -endif - -ifneq ($(SHELLCHECK),) -SHELLCHECK_TEST: FORCE prepare - $(Q)$(MAKE) -f $(srctree)/tools/perf/tests/Makefile.tests -else -SHELLCHECK_TEST: - @: -endif - -$(OUTPUT)perf: $(PERFLIBS) $(PERF_IN) $(PMU_EVENTS_IN) SHELLCHECK_TEST +$(OUTPUT)perf: $(PERFLIBS) $(PERF_IN) $(PMU_EVENTS_IN) $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) \ $(PERF_IN) $(PMU_EVENTS_IN) $(LIBS) -o $@ @@ -1152,9 +1143,8 @@ bpf-skel-clean: $(call QUIET_CLEAN, bpf-skel) $(RM) -r $(SKEL_TMP_OUT) $(SKELETONS) clean:: $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean $(LIBSYMBOL)-clean $(LIBPERF)-clean fixdep-clean python-clean bpf-skel-clean tests-coresight-targets-clean - $(Q)$(MAKE) -f $(srctree)/tools/perf/tests/Makefile.tests clean $(call QUIET_CLEAN, core-objs) $(RM) $(LIBPERF_A) $(OUTPUT)perf-archive $(OUTPUT)perf-iostat $(LANG_BINDINGS) - $(Q)find $(or $(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete + $(Q)find $(or $(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete -o -name '*.shellcheck_log' -delete $(Q)$(RM) $(OUTPUT).config-detected $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 $(OUTPUT)$(LIBJVMTI).so $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ diff --git a/tools/perf/tests/Build b/tools/perf/tests/Build index 2b45ffa462a6..53ba9c3e20e0 100644 --- a/tools/perf/tests/Build +++ b/tools/perf/tests/Build @@ -77,3 +77,17 @@ CFLAGS_python-use.o += -DPYTHONPATH="BUILD_STR($(OUTPUT)python)" -DPYTHON="BUI CFLAGS_dwarf-unwind.o += -fno-optimize-sibling-calls perf-y += workloads/ + +ifdef SHELLCHECK + SHELL_TESTS := $(shell find tests/shell -executable -type f -name '*.sh') + TEST_LOGS := $(SHELL_TESTS:tests/shell/%=shell/%.shellcheck_log) +else + SHELL_TESTS := + TEST_LOGS := +endif + +$(OUTPUT)%.shellcheck_log: % + $(call rule_mkdir) + $(Q)$(call echo-cmd,test)shellcheck -a -S warning "$<" > $@ || (cat $@ && rm $@ && false) + +perf-y += $(TEST_LOGS) diff --git a/tools/perf/tests/Makefile.tests b/tools/perf/tests/Makefile.tests deleted file mode 100644 index fdaca5f7a946..000000000000 --- a/tools/perf/tests/Makefile.tests +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Athira Rajeev , 2023 - -PROGS := $(shell find tests/shell -perm -o=x -type f -name '*.sh') -FILE_NAME := $(notdir $(PROGS)) -FILE_NAME := $(FILE_NAME:%=.%) -LOGS := $(join $(dir $(PROGS)),$(FILE_NAME)) -LOGS := $(LOGS:%=%.shellcheck_log) - -.PHONY: all -all: SHELLCHECK_RUN - @: - -SHELLCHECK_RUN: $(LOGS) - -.%.shellcheck_log: % - $(call rule_mkdir) - $(Q)$(call frecho-cmd,test)@shellcheck -S warning "$<" > $@ || (cat $@ && rm $@ && false) - -clean: - $(eval log_files := $(shell find . -name '.*.shellcheck_log')) - @rm -rf $(log_files) From patchwork Wed Nov 29 21:34:26 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 171578 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a5a7:0:b0:403:3b70:6f57 with SMTP id d7csp632781vqn; Wed, 29 Nov 2023 13:35:10 -0800 (PST) X-Google-Smtp-Source: AGHT+IElwdh7ACIv31qFg3HWpQnJS4iap5Pg+xn1Gs3DRvQUmanjg9Je8tb73NmDI6j4+ukvMEI6 X-Received: by 2002:a05:6a20:9757:b0:189:bf74:19ce with SMTP id hs23-20020a056a20975700b00189bf7419cemr17808901pzc.4.1701293709636; Wed, 29 Nov 2023 13:35:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701293709; cv=none; d=google.com; s=arc-20160816; b=eNR4HhMJDCA+3zYM2PyDtvLm5e7DdrY5kR3fx8g12kLz95+e3nF/1h6xSPZgjSwJti oGo7RK0V/VAppOUFUL+Zr+v8pUh2ruUR4sCZlPzRDNiKZQFOEN9mhfy0m+WXrzG4w7ax cA5p8WVahhnZBykiASh1Ml78y5lfAV3eoCi2NY7J+IJ33tud4FZxdxRQwqdg36ixvDxO mPdrpnSPHu4IZTWayhelv54ua7NtSAV0Wx2gAKKpX2lYLwC3kVb3uWaYetfnfrysHkNB +odhle6QPf9k6UAZ/lmmO09IS2L2ey8IZF6r3uzrWTeaJ4dTe7wLmkPgPABjTHhVsOuf XZAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=cizzxjAOXVtNMhutvuRuFXeQ97rL+0eSPOInOH69jLw=; fh=s+iVIXVUBgtmrgM30VqFskabmg0Jfr2GIun8/h4Dwpg=; b=uT/Hd8d15WmdVpgp2/Fg1qYCbAXUiNhL/mNs7XdexYHD7w/JDgTuYJHvDgRPpTN0r8 KtL0M2c6mbolQK6adbe6yDREDeTpjaOtprK1cqqGtu9aMAVq0OENEXXz6wfjt9o0qx4P AB3W27Wvgyb+wE9UMR1vF/d28h0wAILdI3W4jTWN0gH1ivMEuHMxattxvfg7dCo2+qdH xAMIzD60r0KB2YJIibogdm7N2hstvdwCphfQcBLoCkFkINzMUShorGHTH6EmC5JxfEZ1 GHeKC3FwYS10YIntN4MtyAcm8hk1BZusxlmdpyLawfBa0v0SNoOzzT5Qs2nJabt/tZ97 bgag== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=Jyc6mdJl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from morse.vger.email (morse.vger.email. [2620:137:e000::3:1]) by mx.google.com with ESMTPS id a31-20020a630b5f000000b005acb92781fbsi15089805pgl.415.2023.11.29.13.35.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 13:35:09 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) client-ip=2620:137:e000::3:1; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=Jyc6mdJl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:1 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by morse.vger.email (Postfix) with ESMTP id 21124801BA4E; Wed, 29 Nov 2023 13:35:07 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at morse.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234456AbjK2Vev (ORCPT + 99 others); Wed, 29 Nov 2023 16:34:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229742AbjK2Vet (ORCPT ); Wed, 29 Nov 2023 16:34:49 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 10C6C10C2 for ; Wed, 29 Nov 2023 13:34:56 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5c87663a873so3332657b3.2 for ; Wed, 29 Nov 2023 13:34:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701293695; x=1701898495; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=cizzxjAOXVtNMhutvuRuFXeQ97rL+0eSPOInOH69jLw=; b=Jyc6mdJlqSGh9xCX+wfM42GM0qBnGD5xq2Oe1Q/ZhFBJ+UfF4AblVf9RHARky/hIig ztPcoXUdNalW/qrsjAUmWjj1hjgba/6ZexwnXmIYH+dFR0uhLx89qne/fQk9fvhSBlQl voc+aAcSqUsOkDhw4WABVcUCD23kmi5lwkHOLQXwsOYvpbdM2nt1eNRvQ7HlQyyHaYFb t1XhYlb4lm/y/dDlECVeDawqQ5QIygMVx9YGt6Bo9Xx+cVXmdWB8fLawvyVMbgAkScPv BlkF5ECe/9AnWYT0K3sPU5qPYrzwoDTmhPidNhiA6zLGvMI1c2oqP7BLJDOP9siqINMJ Ji0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701293695; x=1701898495; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cizzxjAOXVtNMhutvuRuFXeQ97rL+0eSPOInOH69jLw=; b=b9lI1vUn29bWeVZv/Rcei9KRWZOvA+kQ+gLmqbYM0GxYZmr8sAvy7QEg+d0IVUjDwc 4Xuuvic12q510gp05MiXDQQAAyZTm1Dn4MXEjo0T/mGu7ARrR09I43bvG0MJvESxiSRd jap+ZUg/YhdG1aMVEdKK6hxaI2fSXj8r22/7jO1e1al3AyhGKVi5qOik0QpFeiXG4OvK RZ4y0Uq2qwXB6kraIaEdfei/ZdNHmSilDoBuNisjZInKpR+9jlhVyReN0mINjRuD60rK /k9OGXvEoHNjpwAFQAVgvz9+ohdMesxl/YqB0E90bFBdcc/5woswOLZDF5sSCsILAI17 3GCQ== X-Gm-Message-State: AOJu0YysMZIqr4fZSfy4cPx1ygAqcWJAUBSARYOQq/U5XxDb79UXkyKU W8P9ZZ8qE1oSdoNG97vqQQ4nIios5UsU X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:763b:80fa:23ca:96f8]) (user=irogers job=sendgmr) by 2002:a05:690c:2e05:b0:5ce:dff:f7a3 with SMTP id et5-20020a05690c2e0500b005ce0dfff7a3mr547030ywb.10.1701293695222; Wed, 29 Nov 2023 13:34:55 -0800 (PST) Date: Wed, 29 Nov 2023 13:34:26 -0800 In-Reply-To: <20231129213428.2227448-1-irogers@google.com> Message-Id: <20231129213428.2227448-2-irogers@google.com> Mime-Version: 1.0 References: <20231129213428.2227448-1-irogers@google.com> X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Subject: [PATCH v2 2/4] perf list: Fix json segfault From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Kan Liang , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, James Clark , Athira Rajeev X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on morse.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (morse.vger.email [0.0.0.0]); Wed, 29 Nov 2023 13:35:07 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783935752729280215 X-GMAIL-MSGID: 1783935752729280215 Json output didn't set the skip_duplicate_pmus callback yielding a segfault. Fixes: cd4e1efbbc40 ("perf pmus: Skip duplicate PMUs and don't print list suffix by default") Signed-off-by: Ian Rogers --- tools/perf/builtin-list.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/perf/builtin-list.c b/tools/perf/builtin-list.c index a343823c8ddf..61c2c96cc070 100644 --- a/tools/perf/builtin-list.c +++ b/tools/perf/builtin-list.c @@ -434,6 +434,11 @@ static void json_print_metric(void *ps __maybe_unused, const char *group, strbuf_release(&buf); } +static bool json_skip_duplicate_pmus(void *ps __maybe_unused) +{ + return false; +} + static bool default_skip_duplicate_pmus(void *ps) { struct print_state *print_state = ps; @@ -503,6 +508,7 @@ int cmd_list(int argc, const char **argv) .print_end = json_print_end, .print_event = json_print_event, .print_metric = json_print_metric, + .skip_duplicate_pmus = json_skip_duplicate_pmus, }; ps = &json_ps; } else { From patchwork Wed Nov 29 21:34:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 171580 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a5a7:0:b0:403:3b70:6f57 with SMTP id d7csp632882vqn; Wed, 29 Nov 2023 13:35:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IE6KOmIgqDqhXey8lF/X54e5HT1C3E7gDdWu9QpyTHAf0vL5yeTJ4pj2bxAxRARQF9BiwgD X-Received: by 2002:a05:6e02:2169:b0:35c:a0da:7620 with SMTP id s9-20020a056e02216900b0035ca0da7620mr15460694ilv.19.1701293723414; Wed, 29 Nov 2023 13:35:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701293723; cv=none; d=google.com; s=arc-20160816; b=bmtFuO+4KIn2w/2zZNnTg/+a+tS5bDCeky7yGOgjOJXwnfqCBzLQ/XifsXBjAWbPWY X00h9jbCXBdTc5KsS5J6rJ32BP5fM3ylG/qDOoLb5MDjjzHhoqYbBsyAhdAHu2bcwuf5 UwMWP6XoVZ2SjBY0y9RaKyuclzxoeJ3t7Ir6G+imT+Z7ce9Xth0TXjpW9P8QmCL07khs JuohuhvyB4rdDuNd8r5FJzuQkUs1koMwA6C3DurQsRRvzvpPe6QAWHkDEHvqams0lZFw Eoi438ecbyxyhHaang7Vl3bSVibLWfylirEA9J8+kNCF3eJSn/Pcd/IGG2d9DvmECH0c p4Zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=o0vBYr5JM7GPlHuM+wfhHkEVfDthy0I/VW5myloZwv8=; fh=s+iVIXVUBgtmrgM30VqFskabmg0Jfr2GIun8/h4Dwpg=; b=wbGic/kWYEi+Kfu7L6WF6sUygvHWvR29u0MkExi35YQbRk7j+mFdXE5jM8ha+NvKmH QB8ijWF5c/HsLl3nm6WbsYW09wNyHw57rQFrzTPuo6jyhbCsn5AiUTC2y9C6PXPti9n/ esSoW3sUd3i5+kyYa8+xPixg6H+JMTO7oFzjbtZ061w0cgYvImMtq9ypPGeVQVdRDDOb oEceoAb0XlNsqdKYX3DMhmsjvEzaYTx1YiM7aVn7TCSuvrSNTBskKNRjN0h63miLtEcQ gXOr7H7vG0hSEhZ2sc/CzkhUJbQ9PdpFeuO4kNg8unhfEwdCiV7xMDSsQ/i88aFhs0lw i8mA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=kegeFLM6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id 10-20020a63144a000000b00584b6af3b9fsi15055725pgu.524.2023.11.29.13.35.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 13:35:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=kegeFLM6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 581C381F3333; Wed, 29 Nov 2023 13:35:20 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234534AbjK2Vex (ORCPT + 99 others); Wed, 29 Nov 2023 16:34:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59690 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234440AbjK2Vev (ORCPT ); Wed, 29 Nov 2023 16:34:51 -0500 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0849595 for ; Wed, 29 Nov 2023 13:34:58 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5d1b2153ba1so4572177b3.2 for ; Wed, 29 Nov 2023 13:34:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701293697; x=1701898497; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=o0vBYr5JM7GPlHuM+wfhHkEVfDthy0I/VW5myloZwv8=; b=kegeFLM6hm8HwUxPO/LU0x+VB0Cp2vfgNxzFroEx+HwG89uxGg88vtxvIDe3wUN1aT aXPwxc45UNO2o6zW9gCY7hnqkFUnReL62w839oNTy8IuBILVnFxVNOaEMs5zgQ4zB6xi vIdjIUkMoQwWJkcnEkGjCIdibgtB4qVKRsf9zrnmTNWF6/jvG02HfX7fxKP/FLYIwOhN V4VUFX8TR3Szft76yo7dl20kl2mx5ZpONrEYG+Dm0qI5g7TG4HgNnURYofwl79cBEqzg Auheu2y9H7wC8GKQjM7nYRN6H+NEhFK8VjNavZN2Kg5AqbzczHAcJmEMoOsp/Qs1qwI1 Hfjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701293697; x=1701898497; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=o0vBYr5JM7GPlHuM+wfhHkEVfDthy0I/VW5myloZwv8=; b=HWIerJNvDEBjfy4+K6TH8eNteuJQ8frwc/Hmv22k4qVstUMG7EPDak6v7hhFmhzl/u Qhdm9jjJtYZq8+9zVUQg/cB5zfnwd0lc5ATEwYpBKS2KLLkw8LRKtvMkzJqasEpPDFEd b57zCrxg9X3ug3SQ4daGIS47Ie6ZDkd1CiftncK+dajnF7IUsFH5FaqtkqOiSi3FVeYp B3wn7XOFV6/vyosWfBUO8n5gRJJwSjjnQbaqs6MkrXAIrnhRzjiLHrMgvdbl2CZmhaiL QIQ0xrRx4FPvA0VyEN3lX7lstaTzQ9wOr72qxBx1NIfcGUWz4Vp2onmfyG2M06U4rlog 2oaQ== X-Gm-Message-State: AOJu0YwEr3TMDbrswMJ05Mz5WI+j+uIMVDYgQ1C9DVjMJQb7hHEztVlD QwWS5rp1Oj+LkcdrS8fp0/cysYwd37Sx X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:763b:80fa:23ca:96f8]) (user=irogers job=sendgmr) by 2002:a05:690c:842:b0:5cc:cd5e:8f0e with SMTP id bz2-20020a05690c084200b005cccd5e8f0emr583925ywb.0.1701293697326; Wed, 29 Nov 2023 13:34:57 -0800 (PST) Date: Wed, 29 Nov 2023 13:34:27 -0800 In-Reply-To: <20231129213428.2227448-1-irogers@google.com> Message-Id: <20231129213428.2227448-3-irogers@google.com> Mime-Version: 1.0 References: <20231129213428.2227448-1-irogers@google.com> X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Subject: [PATCH v2 3/4] perf test: Use common python setup library From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Kan Liang , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, James Clark , Athira Rajeev X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Wed, 29 Nov 2023 13:35:20 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783935767085914064 X-GMAIL-MSGID: 1783935767085914064 Avoid replicated logic by having a common library to set the PYTHON environment variable. Signed-off-by: Ian Rogers --- tools/perf/tests/shell/lib/setup_python.sh | 16 ++++++++++++++++ tools/perf/tests/shell/stat+json_output.sh | 16 +++------------- tools/perf/tests/shell/stat_metrics_values.sh | 14 ++++---------- .../tests/shell/test_perf_data_converter_json.sh | 13 +++---------- 4 files changed, 26 insertions(+), 33 deletions(-) create mode 100644 tools/perf/tests/shell/lib/setup_python.sh diff --git a/tools/perf/tests/shell/lib/setup_python.sh b/tools/perf/tests/shell/lib/setup_python.sh new file mode 100644 index 000000000000..c2fce1793538 --- /dev/null +++ b/tools/perf/tests/shell/lib/setup_python.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 + +if [ "x$PYTHON" = "x" ] +then + python3 --version >/dev/null 2>&1 && PYTHON=python3 +fi +if [ "x$PYTHON" = "x" ] +then + python --version >/dev/null 2>&1 && PYTHON=python +fi +if [ "x$PYTHON" = "x" ] +then + echo Skipping test, python not detected please set environment variable PYTHON. + exit 2 +fi diff --git a/tools/perf/tests/shell/stat+json_output.sh b/tools/perf/tests/shell/stat+json_output.sh index 196e22672c50..3bc900533a5d 100755 --- a/tools/perf/tests/shell/stat+json_output.sh +++ b/tools/perf/tests/shell/stat+json_output.sh @@ -8,20 +8,10 @@ set -e skip_test=0 +shelldir=$(dirname "$0") +# shellcheck source=lib/setup_python.sh +. "${shelldir}"/lib/setup_python.sh pythonchecker=$(dirname $0)/lib/perf_json_output_lint.py -if [ "x$PYTHON" == "x" ] -then - if which python3 > /dev/null - then - PYTHON=python3 - elif which python > /dev/null - then - PYTHON=python - else - echo Skipping test, python not detected please set environment variable PYTHON. - exit 2 - fi -fi stat_output=$(mktemp /tmp/__perf_test.stat_output.json.XXXXX) diff --git a/tools/perf/tests/shell/stat_metrics_values.sh b/tools/perf/tests/shell/stat_metrics_values.sh index ad94c936de7e..7ca172599aa6 100755 --- a/tools/perf/tests/shell/stat_metrics_values.sh +++ b/tools/perf/tests/shell/stat_metrics_values.sh @@ -1,16 +1,10 @@ #!/bin/bash # perf metrics value validation # SPDX-License-Identifier: GPL-2.0 -if [ "x$PYTHON" == "x" ] -then - if which python3 > /dev/null - then - PYTHON=python3 - else - echo Skipping test, python3 not detected please set environment variable PYTHON. - exit 2 - fi -fi + +shelldir=$(dirname "$0") +# shellcheck source=lib/setup_python.sh +. "${shelldir}"/lib/setup_python.sh grep -q GenuineIntel /proc/cpuinfo || { echo Skipping non-Intel; exit 2; } diff --git a/tools/perf/tests/shell/test_perf_data_converter_json.sh b/tools/perf/tests/shell/test_perf_data_converter_json.sh index 6ded58f98f55..c4f1b59d116f 100755 --- a/tools/perf/tests/shell/test_perf_data_converter_json.sh +++ b/tools/perf/tests/shell/test_perf_data_converter_json.sh @@ -6,16 +6,9 @@ set -e err=0 -if [ "$PYTHON" = "" ] ; then - if which python3 > /dev/null ; then - PYTHON=python3 - elif which python > /dev/null ; then - PYTHON=python - else - echo Skipping test, python not detected please set environment variable PYTHON. - exit 2 - fi -fi +shelldir=$(dirname "$0") +# shellcheck source=lib/setup_python.sh +. "${shelldir}"/lib/setup_python.sh perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX) result=$(mktemp /tmp/__perf_test.output.json.XXXXX) From patchwork Wed Nov 29 21:34:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 171579 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a5a7:0:b0:403:3b70:6f57 with SMTP id d7csp632846vqn; Wed, 29 Nov 2023 13:35:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IFJBHcWhVtaRrjzGL1RvPS+GtbMzPvIvQxUwVx8TAm4gEmx2WeEL+8GxTu3ZzPV0jnQ6R49 X-Received: by 2002:a17:903:22d2:b0:1cc:c273:603 with SMTP id y18-20020a17090322d200b001ccc2730603mr21965139plg.42.1701293718626; Wed, 29 Nov 2023 13:35:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701293718; cv=none; d=google.com; s=arc-20160816; b=uIHxsjqjRwrKKvkRMHFhXh2JO8vUgOkOnIrcpt3yslgu63PMK9F7q4DNkb7AAeYTgU /skU9ojc9q1r5mc/vMkBRM19EHr9aqtgLwEOFpmn24IrJK3wBy0KPPeS21f5RPNXjW0z Qh+YFbtWdrKfQiQ13DB9iy1sOc2LmTQ3M6Ro3vrz2VYIScfqZJF0PFQ8YsYoQltLJ3sD CxgKLCTkGemf/SoGB4aI3raoLWxuQOr5KVZu7Zv51eueoV3VVOSc/5LFqFlTTgKKa6ab vhYBvR9xnlZS08TleiNmByhzHbhdLY2gOWWclbAj81jnNlRkiF7y0LRr0ERmJzS4l7F0 JUhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=XRVp3dZOza3BPJg1hP4prPeqJnELXQfl8OwEl5/3ecI=; fh=s+iVIXVUBgtmrgM30VqFskabmg0Jfr2GIun8/h4Dwpg=; b=cDEgNRf3vmtVhqHb+udvG3jgZs49C8ijaPlrbaOY+dlNukxWKL12D60BMtbkbqwi6v 3kjPdtHZlbvt8GiRh3GocFvMaJkVad8RDdlpB+ZrD3GNWOlDV09uQmEA/ot8DXPO9nkq S3DUsRvvnbfzB24M1v14c+t3t9TZi4IunfSU5IjTDsmf4TVqa+sEX0DLiswMlJDuSC4g RAg0RoRjmb6SjQM5gXMszRWVBGWCs10cR65qdSn4pL/N++r8ui9QROy9kwBnLMbH+/bd RhPEbA7fQF/1k8fCDgmXTfUmOJ5wSJuU+dHxWPhRA7V1TeIIFC7At6Kk62K6FD6SwNor UILA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=E5kxKLHc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id j7-20020a170902da8700b001d0050e2466si3660584plx.23.2023.11.29.13.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 13:35:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=E5kxKLHc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 8BC8A80B9F8C; Wed, 29 Nov 2023 13:35:14 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234517AbjK2Ve7 (ORCPT + 99 others); Wed, 29 Nov 2023 16:34:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229742AbjK2Vex (ORCPT ); Wed, 29 Nov 2023 16:34:53 -0500 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0389BD7D for ; Wed, 29 Nov 2023 13:35:00 -0800 (PST) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5d2f58660d4so3319987b3.2 for ; Wed, 29 Nov 2023 13:34:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701293699; x=1701898499; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=XRVp3dZOza3BPJg1hP4prPeqJnELXQfl8OwEl5/3ecI=; b=E5kxKLHc2RkBpypwPjiAH9ejAMmO3mhTaadbxDv1Qe8CJK2fh2aizYvTBTdiBKa0qg cTac753lguvqEcWaT5ZpQGOvN1D5bdCpSKRMDm40+73POJOAStfONhJeWn6qDR1wtBtT HoPICAI2caJmoDOntjwkiH1uTYoB0jAd7nRvlcaaPKPRk6KIbyhCEmlHSOxFQPR5EK+e eNMERwoz3uHWQUU1SoAzHT/+0Peq0rN26eDvcxA9NF3EnDytK7NHSXNF3E4CdmbIR2+i ML6lLP9+9Mni0pceZ0SBP5ttuQ9iFj1NYUP55iO86JsnoQR9c8xAyz/XPSN7WSIk5R2k 4UGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701293699; x=1701898499; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XRVp3dZOza3BPJg1hP4prPeqJnELXQfl8OwEl5/3ecI=; b=AeJuF946Uzx5TNAlcQebf5mWYXR7YS28u4C6b9KKtAInujnxM0T9j3oYb4Zw/oRLr1 pa6HtN6TsLaTuVFb0twLyU9FKr5ZupX3ZcqjtBuojfjjI3gl+W7okMfpvuTs9gubity2 FnYmG/14gz9x86GmjEgaq+d0eudCZLaYHTKfpFI2yO4zkEufxW2j4IHnmIcP294LXzJb NTRODWtAsWXB+/ftuuSeCheueyQYaFxZHIhkf92PxjujCVcGLobnl7S/+f8qx3q99xnK Ji5x2cRXNnImkdh5y/Oo69Vujl2nabLapSojxl5cb2OW1wLLajPl9OfWzus478zyHDQh lmzA== X-Gm-Message-State: AOJu0YwOwzK8Avz2vi2pLNWlpj3iURim/VwH406ByYA9V90WaiT5uMzr aCDiorUsURqiv0CQuE/l/AQzb7gkZ/QL X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:763b:80fa:23ca:96f8]) (user=irogers job=sendgmr) by 2002:a81:ff05:0:b0:5cd:c47d:d89a with SMTP id k5-20020a81ff05000000b005cdc47dd89amr666680ywn.2.1701293699266; Wed, 29 Nov 2023 13:34:59 -0800 (PST) Date: Wed, 29 Nov 2023 13:34:28 -0800 In-Reply-To: <20231129213428.2227448-1-irogers@google.com> Message-Id: <20231129213428.2227448-4-irogers@google.com> Mime-Version: 1.0 References: <20231129213428.2227448-1-irogers@google.com> X-Mailer: git-send-email 2.43.0.rc1.413.gea7ed67945-goog Subject: [PATCH v2 4/4] perf test: Add basic list test From: Ian Rogers To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Kan Liang , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, James Clark , Athira Rajeev X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 29 Nov 2023 13:35:14 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783935762367125252 X-GMAIL-MSGID: 1783935762367125252 Test that json output produces valid json. Signed-off-by: Ian Rogers --- tools/perf/tests/shell/list.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 tools/perf/tests/shell/list.sh diff --git a/tools/perf/tests/shell/list.sh b/tools/perf/tests/shell/list.sh new file mode 100755 index 000000000000..22b004f2b23e --- /dev/null +++ b/tools/perf/tests/shell/list.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# perf list tests +# SPDX-License-Identifier: GPL-2.0 + +set -e +err=0 + +shelldir=$(dirname "$0") +# shellcheck source=lib/setup_python.sh +. "${shelldir}"/lib/setup_python.sh + +test_list_json() { + echo "Json output test" + perf list -j | $PYTHON -m json.tool + echo "Json output test [Success]" +} + +test_list_json +exit $err