From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1lRmbC-0006gC-2D for mharc-grub-devel@gnu.org; Wed, 31 Mar 2021 21:58:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51088) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lRmb7-0006e8-TU for grub-devel@gnu.org; Wed, 31 Mar 2021 21:58:15 -0400 Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]:39543) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lRmb2-0007Ig-CX for grub-devel@gnu.org; Wed, 31 Mar 2021 21:58:12 -0400 Received: by mail-oi1-x231.google.com with SMTP id i81so271398oif.6 for ; Wed, 31 Mar 2021 18:58:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficientek-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gAN9iv8bwBV88I484hT7+jHRAWSy2vs2q1SzpI5hrmI=; b=l53mXN7kCkzl1y+2Ag/MLobc5qEO0RHWZV39k2SIOk63fYIYZzJ0CK9za0uAEwfFN1 Z+z4rRggDZL7PDP9iyl+NtRaTUfyM/C1UejCgZFNIJCcIXfiQ3rW95JTIjCpkIEiI2mk kKVG4ag6vxb+RmtVSCSgNlDG7fuVBsH87GjdkZL+OrBWlkLIuU32eGv0dtgi8/huuVTL FaMHRLOCbccsqGMBK7PDLCZ+bWjfeKXNinkad0fCldNV4gDJ0rT2W+slbIzmZ3wN7sy8 9/0kHi+s7D6vH69ZrXAPDt59xh4uslESq93/dKSUP+PV3In5d9nrnpTwI5hGHnnyzU3L jHoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gAN9iv8bwBV88I484hT7+jHRAWSy2vs2q1SzpI5hrmI=; b=nQ685TbPkpyQObtXr8+3TgtjthLZG6DYoDRwdKeX7fJtaJpjulaMqFoOuEyFrzpIkS NxC0DBSzOIgfjsmGRWWA3TjmrwTvru8c/HIoMkqp8Yib+Nr90fslvAbsSINP8Xl0fNkN V9S7RD174e9MvMSfxFPmYN4K/A4mVn751GcF4qm4ys2L3/xePbGXascOozLXE2c3O7ZT ZA7ji7xHzEu1WrVEloCvi7FByJeJGmOUBiklM5ctzy7IXGrEXoivlM/5RQdC1sh34BtQ dPgl+QBfnRYAMiylT4jktjtuJR5glMArQcYhSttuQoUCOCRDOcWJI9YhNso1SWBUuR6j zCDg== X-Gm-Message-State: AOAM533Fh+YYFnhz2HUDEa/9Du0tahxlYHaG79CtQTBOCJfKbpeDcSxy X+4qjIix6PpMSdJhbwAFeVMm7bYDtRx4Pg== X-Google-Smtp-Source: ABdhPJx3gGPASF8xE+7hsnaiehxu1nTKthhPicHbIKd6eWxIdQDxT/zfqBlxiyJNJMOFrCWSS1IP0w== X-Received: by 2002:a05:6808:2d2:: with SMTP id a18mr4335415oid.152.1617242286606; Wed, 31 Mar 2021 18:58:06 -0700 (PDT) Received: from localhost.localdomain ([2605:a601:ab16:db00:1cb0:2038:b70a:65b5]) by smtp.gmail.com with ESMTPSA id z25sm902960otj.68.2021.03.31.18.58.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Mar 2021 18:58:06 -0700 (PDT) From: Glenn Washburn To: grub-devel@gnu.org, Daniel Kiper Cc: Glenn Washburn Subject: [PATCH 05/12] grub-shell: Put all generated files into working dir and use better file names Date: Wed, 31 Mar 2021 20:57:44 -0500 Message-Id: X-Mailer: git-send-email 2.27.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::231; envelope-from=development@efficientek.com; helo=mail-oi1-x231.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 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2021 01:58:15 -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 e80471126..8c6ed76d7 100644 --- a/tests/util/grub-shell.in +++ b/tests/util/grub-shell.in @@ -71,6 +71,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 @@ -80,7 +82,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 @@ -318,14 +320,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 @@ -357,7 +359,8 @@ if [ $trim = 1 ]; then echo "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 @@ -378,7 +381,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 @@ -450,7 +453,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}" @@ -493,14 +496,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" @@ -515,7 +519,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.27.0