From nobody Tue Apr 7 23:58:58 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4A300C4332F for ; Wed, 19 Oct 2022 23:03:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231724AbiJSXDQ (ORCPT ); Wed, 19 Oct 2022 19:03:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47484 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231515AbiJSXCu (ORCPT ); Wed, 19 Oct 2022 19:02:50 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2C2D1D73C3; Wed, 19 Oct 2022 16:02:28 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 7FCF4B82626; Wed, 19 Oct 2022 23:02:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E229C433B5; Wed, 19 Oct 2022 23:02:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1666220528; bh=5BTxcY5LF9MfXVRtivOD2ef6M9lAyzmoojWa+ipYWug=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U3gNP2JF210YeXGJB1VLv91V59d2xGDTeuIlzG3m9+SypLAYbn4SJ1SuVxzmc9ocJ 3lfJzCN/7rNlFKj/dhq9UwNy9JonsQcfMJwfkIC4XrmZSiJvduE5El0h88yeGTff4g tdADZ+UZs2KeV2vQMA3lG4CzmGrQLFx/vZUnB87CYkOt9rHV+Gvd5Ad3HrRCo/RK4a myJPg4s2XbUBgnLe+hc0aRIXrTrNBiW8K6hly+sI+YRlEzbU07FFN4VpdrFOL2rUqf 1YF5C81T6fxYw/YYZSlMUe9Jwyg3nikWVW5+4WKPoM2ETElRkJc9r4KBMKTtIx7Nio BNYVf+C6GgpCA== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id EA0FB5C0879; Wed, 19 Oct 2022 16:02:07 -0700 (PDT) From: "Paul E. McKenney" To: rcu@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com, rostedt@goodmis.org, "Paul E. McKenney" Subject: [PATCH v3 rcu 2/8] torture: Use mktemp instead of guessing at unique names Date: Wed, 19 Oct 2022 16:02:00 -0700 Message-Id: <20221019230206.2501794-2-paulmck@kernel.org> X-Mailer: git-send-email 2.31.1.189.g2e36527f23 In-Reply-To: <20221019230203.GA2501612@paulmck-ThinkPad-P17-Gen-1> References: <20221019230203.GA2501612@paulmck-ThinkPad-P17-Gen-1> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This commit drags the rcutorture scripting kicking and screaming into the twenty-first century by making use of the BSD-derived mktemp command to create temporary files and directories. In happy contrast to many of its ill-behaved predecessors, mktemp seems to actually work reasonably reliably! Signed-off-by: Paul E. McKenney --- .../testing/selftests/rcutorture/bin/config2csv.sh | 3 +-- .../selftests/rcutorture/bin/config_override.sh | 3 +-- .../testing/selftests/rcutorture/bin/configcheck.sh | 3 +-- .../testing/selftests/rcutorture/bin/configinit.sh | 3 +-- tools/testing/selftests/rcutorture/bin/kvm-again.sh | 3 +-- .../selftests/rcutorture/bin/kvm-assign-cpus.sh | 3 +-- tools/testing/selftests/rcutorture/bin/kvm-build.sh | 3 +-- .../selftests/rcutorture/bin/kvm-end-run-stats.sh | 3 +-- .../testing/selftests/rcutorture/bin/kvm-remote.sh | 13 ++++++------- .../rcutorture/bin/kvm-test-1-run-batch.sh | 3 +-- .../selftests/rcutorture/bin/kvm-test-1-run-qemu.sh | 3 +-- .../selftests/rcutorture/bin/kvm-test-1-run.sh | 3 +-- tools/testing/selftests/rcutorture/bin/kvm.sh | 3 +-- .../testing/selftests/rcutorture/bin/parse-build.sh | 3 +-- tools/testing/selftests/rcutorture/bin/torture.sh | 3 +-- 15 files changed, 20 insertions(+), 35 deletions(-) diff --git a/tools/testing/selftests/rcutorture/bin/config2csv.sh b/tools/t= esting/selftests/rcutorture/bin/config2csv.sh index d5a16631b16ee..0cf55f1bf6548 100755 --- a/tools/testing/selftests/rcutorture/bin/config2csv.sh +++ b/tools/testing/selftests/rcutorture/bin/config2csv.sh @@ -30,9 +30,8 @@ else fi scenarios=3D"`echo $scenariosarg | sed -e "s/\/$defaultconfigs/g"= `" =20 -T=3D/tmp/config2latex.sh.$$ +T=3D`mktemp -d /tmp/config2latex.sh.XXXXXX` trap 'rm -rf $T' 0 -mkdir $T =20 cat << '---EOF---' >> $T/p.awk END { diff --git a/tools/testing/selftests/rcutorture/bin/config_override.sh b/to= ols/testing/selftests/rcutorture/bin/config_override.sh index 90016c359e839..b3d2e7efa40cd 100755 --- a/tools/testing/selftests/rcutorture/bin/config_override.sh +++ b/tools/testing/selftests/rcutorture/bin/config_override.sh @@ -29,9 +29,8 @@ else exit 1 fi =20 -T=3D${TMPDIR-/tmp}/config_override.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/config_override.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 sed < $override -e 's/^/grep -v "/' -e 's/=3D.*$/=3D"/' | awk ' diff --git a/tools/testing/selftests/rcutorture/bin/configcheck.sh b/tools/= testing/selftests/rcutorture/bin/configcheck.sh index 31584cee84d71..83fac1852ab23 100755 --- a/tools/testing/selftests/rcutorture/bin/configcheck.sh +++ b/tools/testing/selftests/rcutorture/bin/configcheck.sh @@ -7,9 +7,8 @@ # # Authors: Paul E. McKenney =20 -T=3D${TMPDIR-/tmp}/abat-chk-config.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/configcheck.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 cat $1 > $T/.config =20 diff --git a/tools/testing/selftests/rcutorture/bin/configinit.sh b/tools/t= esting/selftests/rcutorture/bin/configinit.sh index d6e5ce084b1cf..28bdb3ac7ba6f 100755 --- a/tools/testing/selftests/rcutorture/bin/configinit.sh +++ b/tools/testing/selftests/rcutorture/bin/configinit.sh @@ -15,9 +15,8 @@ # # Authors: Paul E. McKenney =20 -T=3D${TMPDIR-/tmp}/configinit.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/configinit.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 # Capture config spec file. =20 diff --git a/tools/testing/selftests/rcutorture/bin/kvm-again.sh b/tools/te= sting/selftests/rcutorture/bin/kvm-again.sh index 85cfd139f9737..20941c1051087 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-again.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-again.sh @@ -12,9 +12,8 @@ scriptname=3D$0 args=3D"$*" =20 -T=3D${TMPDIR-/tmp}/kvm-again.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-again.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 if ! test -d tools/testing/selftests/rcutorture/bin then diff --git a/tools/testing/selftests/rcutorture/bin/kvm-assign-cpus.sh b/to= ols/testing/selftests/rcutorture/bin/kvm-assign-cpus.sh index f99b2c146f835..46b08cd16ba5c 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-assign-cpus.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-assign-cpus.sh @@ -7,9 +7,8 @@ # # Usage: kvm-assign-cpus.sh /path/to/sysfs =20 -T=3D/tmp/kvm-assign-cpus.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-assign-cpus.sh.XXXXXX`" trap 'rm -rf $T' 0 2 -mkdir $T =20 sysfsdir=3D${1-/sys/devices/system/node} if ! cd "$sysfsdir" > $T/msg 2>&1 diff --git a/tools/testing/selftests/rcutorture/bin/kvm-build.sh b/tools/te= sting/selftests/rcutorture/bin/kvm-build.sh index 5ad973dca8207..e28a82851f7c4 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-build.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-build.sh @@ -23,9 +23,8 @@ then fi resdir=3D${2} =20 -T=3D${TMPDIR-/tmp}/test-linux.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-build.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 cp ${config_template} $T/config cat << ___EOF___ >> $T/config diff --git a/tools/testing/selftests/rcutorture/bin/kvm-end-run-stats.sh b/= tools/testing/selftests/rcutorture/bin/kvm-end-run-stats.sh index ee886b40a5d2c..2b56baceb05d7 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-end-run-stats.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-end-run-stats.sh @@ -18,9 +18,8 @@ then exit 1 fi =20 -T=3D${TMPDIR-/tmp}/kvm-end-run-stats.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-end-run-stats.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 RCUTORTURE=3D"`pwd`/tools/testing/selftests/rcutorture"; export RCUTORTURE PATH=3D${RCUTORTURE}/bin:$PATH; export PATH diff --git a/tools/testing/selftests/rcutorture/bin/kvm-remote.sh b/tools/t= esting/selftests/rcutorture/bin/kvm-remote.sh index 9f0a5d5ff2ddc..a2328163eba1d 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-remote.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-remote.sh @@ -34,19 +34,18 @@ fi shift =20 # Pathnames: -# T: /tmp/kvm-remote.sh.$$ -# resdir: /tmp/kvm-remote.sh.$$/res -# rundir: /tmp/kvm-remote.sh.$$/res/$ds ("-remote" suffix) +# T: /tmp/kvm-remote.sh.NNNNNN where "NNNNNN" is set by mktemp +# resdir: /tmp/kvm-remote.sh.NNNNNN/res +# rundir: /tmp/kvm-remote.sh.NNNNNN/res/$ds ("-remote" suffix) # oldrun: `pwd`/tools/testing/.../res/$otherds # # Pathname segments: -# TD: kvm-remote.sh.$$ +# TD: kvm-remote.sh.NNNNNN # ds: yyyy.mm.dd-hh.mm.ss-remote =20 -TD=3Dkvm-remote.sh.$$ -T=3D${TMPDIR-/tmp}/$TD +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-remote.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T +TD=3D"`basename "$T"`" =20 resdir=3D"$T/res" ds=3D`date +%Y.%m.%d-%H.%M.%S`-remote diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-batch.sh= b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-batch.sh index 1e29d656501bc..c3808c490d92d 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-batch.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-batch.sh @@ -13,9 +13,8 @@ # # Authors: Paul E. McKenney =20 -T=3D${TMPDIR-/tmp}/kvm-test-1-run-batch.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-test-1-run-batch.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 echo ---- Running batch $* # Check arguments diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh = b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh index 44280582c594e..9da86e6cd1812 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run-qemu.sh @@ -17,9 +17,8 @@ # # Authors: Paul E. McKenney =20 -T=3D${TMPDIR-/tmp}/kvm-test-1-run-qemu.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-test-1-run-qemu.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 resdir=3D"$1" if ! test -d "$resdir" diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh b/too= ls/testing/selftests/rcutorture/bin/kvm-test-1-run.sh index f4c8055dbf7ad..d2a3710a5f2ad 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh @@ -25,9 +25,8 @@ # # Authors: Paul E. McKenney =20 -T=3D${TMPDIR-/tmp}/kvm-test-1-run.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm-test-1-run.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 . functions.sh . $CONFIGFRAG/ver_functions.sh diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/= selftests/rcutorture/bin/kvm.sh index 6c734818a8757..7710b1e1cddab 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh @@ -14,9 +14,8 @@ scriptname=3D$0 args=3D"$*" =20 -T=3D${TMPDIR-/tmp}/kvm.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/kvm.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 cd `dirname $scriptname`/../../../../../ =20 diff --git a/tools/testing/selftests/rcutorture/bin/parse-build.sh b/tools/= testing/selftests/rcutorture/bin/parse-build.sh index 2dbfca3589b17..5a0b7ffcf047a 100755 --- a/tools/testing/selftests/rcutorture/bin/parse-build.sh +++ b/tools/testing/selftests/rcutorture/bin/parse-build.sh @@ -15,9 +15,8 @@ =20 F=3D$1 title=3D$2 -T=3D${TMPDIR-/tmp}/parse-build.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/parse-build.sh.XXXXXX`" trap 'rm -rf $T' 0 -mkdir $T =20 . functions.sh =20 diff --git a/tools/testing/selftests/rcutorture/bin/torture.sh b/tools/test= ing/selftests/rcutorture/bin/torture.sh index d477618e7261d..4d285db2fbbdd 100755 --- a/tools/testing/selftests/rcutorture/bin/torture.sh +++ b/tools/testing/selftests/rcutorture/bin/torture.sh @@ -206,9 +206,8 @@ ds=3D"`date +%Y.%m.%d-%H.%M.%S`-torture" startdate=3D"`date`" starttime=3D"`get_starttime`" =20 -T=3D/tmp/torture.sh.$$ +T=3D"`mktemp -d ${TMPDIR-/tmp}/torture.sh.XXXXXX`" trap 'rm -rf $T' 0 2 -mkdir $T =20 echo " --- " $scriptname $args | tee -a $T/log echo " --- Results directory: " $ds | tee -a $T/log --=20 2.31.1.189.g2e36527f23