From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1oQGhj-0004Eg-Jl for mharc-grub-devel@gnu.org; Mon, 22 Aug 2022 19:19:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33996) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oQGhh-0004EV-HH for grub-devel@gnu.org; Mon, 22 Aug 2022 19:19:33 -0400 Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d]:44776) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oQGhf-0004vE-7d for grub-devel@gnu.org; Mon, 22 Aug 2022 19:19:33 -0400 Received: by mail-qt1-x82d.google.com with SMTP id h4so9158034qtj.11 for ; Mon, 22 Aug 2022 16:19:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficientek-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc; bh=s5FBbbKQwIYmM3CbAwGVKLmqtxGejOxBmvFKjja0c2I=; b=PPVy0kwF7GRKzZEOxnB50o1Jcg8WScxm2N62yKqoI1b9U6gm7wi/ZWJi2KLGxQs/Gt E1roM/c0/3H1K+6gzuZNr3tLF45uWgmwg2UR55mKP1lGWgVN4becdcxgoDUkFD+SiRJH EXkcpsN3x3GbrXMJ4f9/NFjZ4Xp1Asifm4kQqwv51+3pITNkF4dtd+pD3628dRQpxZ47 J2Kz4/0QKr17Ga3bTDwAeRu4yM4yxoVnyOq5HO6j+RVZn08z4GS1vPOBqJIxpPUrbeul DGVj/WxIQb1yzjbnnbwZpMjZEjyTpEgW/UL8s9xwh9qoB0mMiu5OAVS2MeooUeF1RFEe RFzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc; bh=s5FBbbKQwIYmM3CbAwGVKLmqtxGejOxBmvFKjja0c2I=; b=4092CoIw7swn74HCheqQ7afFcPXh6Zmz3RqFk5zpVW+AxzIVVxjJ0f52XL4bBs4XMx FUQZG10JKCWDyPl33ykMTw70JLLjOlewKuHpv2Duiuo/A8vwduH2cMIe00aQez5EBa8x 3jjsuulPxUzEQNRCeWYOdYsee+N+lWI3w6L9hroTusUdjm3t7TkhjnedHptqrPQxdWcg G1pHq5tNo9uc5f1t8l5T5KmPFm/tmpC7E39zANMUHRlxALRzXHV9yYdGDAhcKXzqIpHb R2yojoSvpYsUORT8QFMu0IKg0dvCuClgC1glu4NxDj7xTDcYHKgYxeBEdufSEyD3dHLu z9wQ== X-Gm-Message-State: ACgBeo2fOV2iYOEsLnxnIH1mUvqhieXPy+8GNe1cy1FuITgig1MlVs+S rUsheEkN0zo28xujO2wd45n/5UrOVwNSpGqt X-Google-Smtp-Source: AA6agR5Md+bcxggr7MJgPOoVt9zutQizx4HabbFBjniDhajkqwgo4sxNXQTojS53ZLdyfEZUo15U8w== X-Received: by 2002:a05:622a:181c:b0:344:6399:d8c0 with SMTP id t28-20020a05622a181c00b003446399d8c0mr17361859qtc.334.1661210369670; Mon, 22 Aug 2022 16:19:29 -0700 (PDT) Received: from localhost.localdomain ([199.58.83.10]) by smtp.gmail.com with ESMTPSA id t24-20020a37ea18000000b006b9526cfe6bsm11858314qkj.80.2022.08.22.16.19.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Aug 2022 16:19:29 -0700 (PDT) From: Glenn Washburn To: grub-devel@gnu.org, Daniel Kiper Cc: Glenn Washburn Subject: [PATCH] grub-shell: Put all generated files into working dir and use better file names Date: Mon, 22 Aug 2022 18:19:02 -0500 Message-Id: <20220822231902.549596-1-development@efficientek.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::82d; envelope-from=development@efficientek.com; helo=mail-qt1-x82d.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Aug 2022 23:19:33 -0000 When running tests there are many invocations of grub-shell, and because the output files are all random names in the same tmp directory, it becomes more work to figure out which files went with which grub-shell invocations. So all generated files from one invocation of grub-shell are put into a randomly named directory, so as not to collide with other grub-shell invocations. And now that the generated files can be put in a location where they will not get stepped on, and they can be named sensible names. Signed-off-by: Glenn Washburn --- tests/util/grub-shell.in | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in index ce431757c..6cb72403e 100644 --- a/tests/util/grub-shell.in +++ b/tests/util/grub-shell.in @@ -70,6 +70,8 @@ exec_show_error () { fi } +work_directory=${WORKDIR:-`mktemp -d "${TMPDIR:-/tmp}/grub-shell.XXXXXXXXXX"`} || exit 1 + . "${builddir}/grub-core/modinfo.sh" qemuopts="${GRUB_QEMU_OPTS}" serial_port=com0 @@ -79,7 +81,7 @@ pseries=n disk="hda " case "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" in *-emu) - device_map=`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 + device_map="$work_directory/device.map" boot=emu console=console disk=0 @@ -313,14 +315,14 @@ for option in "$@"; do done if [ "x${source}" = x ] ; then - tmpfile=`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 + tmpfile="$work_directory/testcase.cfg" while read REPLY; do echo "$REPLY" >> ${tmpfile} done source=${tmpfile} fi -cfgfile=`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 +cfgfile="$work_directory/grub.cfg" cat <${cfgfile} grubshell=yes enable_progress_indicator=0 @@ -354,7 +356,8 @@ if [ $trim = 1 ]; then echo "echo $trim_head" >>${cfgfile} fi -rom_directory=`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 +rom_directory="$work_directory/rom_directory" +mkdir -p "$rom_directory" for mod in ${modules} do @@ -375,7 +378,7 @@ test -z "$debug" || echo "GRUB script: ${cfgfile}" >&2 test -z "$debug" || echo "GRUB testcase script: ${tmpfile}" >&2 test -z "$debug" || echo "Boot device: ${boot}" >&2 -isofile=`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 +isofile="$work_directory/grub.iso" test -z "$debug" || echo "GRUB ISO file: ${isofile}" >&2 test -z "$debug" || echo "GRUB ROM directory: ${rom_directory}" >&2 @@ -451,7 +454,7 @@ if [ x$boot = xmips_qemu ]; then fi if [ x$boot = xcoreboot ]; then - imgfile=`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 + imgfile="$work_directory/coreboot.img" cp "${GRUB_COREBOOT_ROM}" "${imgfile}" "${GRUB_CBFSTOOL}" "${imgfile}" add-payload -f "${rom_directory}/coreboot.elf" -n fallback/payload bootdev="-bios ${imgfile}" @@ -494,14 +497,15 @@ copy_extra_files() { } if [ x$boot = xnet ]; then - netdir=`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1 + netdir="$work_directory/netdir" + mkdir -p "$netdir" pkgdatadir="${builddir}" "${builddir}/grub-mknetdir" "--grub-mkimage=${builddir}/grub-mkimage" "--directory=${builddir}/grub-core" "--net-directory=$netdir" ${mkrescue_args} > /dev/null cp "${cfgfile}" "$netdir/boot/grub/grub.cfg" cp "${source}" "$netdir/boot/grub/testcase.cfg" [ -z "$files" ] || copy_extra_files "$netdir" $files timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial file:/dev/stdout -boot n -net "user,tftp=$netdir,bootfile=/boot/grub/${grub_modinfo_target_cpu}-${grub_modinfo_platform}/core.$netbootext" -net nic | cat | tr -d "\r" | do_trim elif [ x$boot = xemu ]; then - rootdir="$(mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX")" + rootdir="$work_directory/rootdir" grubdir="$rootdir/boot/grub" mkdir -p "$grubdir/fonts" mkdir -p "$grubdir/themes" @@ -516,7 +520,7 @@ elif [ x$boot = xemu ]; then cp "${cfgfile}" "$grubdir/grub.cfg" cp "${source}" "$grubdir/testcase.cfg" [ -z "$files" ] || copy_extra_files "$rootdir" $files - roottar="$(mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX")" + roottar="$work_directory/root.tar" (cd "$rootdir"; tar cf "$roottar" .) "${builddir}/grub-core/grub-emu" -m "$device_map" --memdisk "$roottar" -r memdisk -d "/boot/grub" | tr -d "\r" | do_trim test -n "$debug" || rm -rf "$rootdir" -- 2.34.1