From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.90_1) id 1lRmbF-0006it-Cc for mharc-grub-devel@gnu.org; Wed, 31 Mar 2021 21:58:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lRmbB-0006fL-HS for grub-devel@gnu.org; Wed, 31 Mar 2021 21:58:17 -0400 Received: from mail-ot1-x332.google.com ([2607:f8b0:4864:20::332]:34674) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lRmb5-0007J2-BG for grub-devel@gnu.org; Wed, 31 Mar 2021 21:58:16 -0400 Received: by mail-ot1-x332.google.com with SMTP id k14-20020a9d7dce0000b02901b866632f29so781658otn.1 for ; Wed, 31 Mar 2021 18:58:09 -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=f/x80Qr5gVIc/tQMYbeXNFZu3wzW+kHE/zNX2gMu1ec=; b=KZJpzy1Ut/GgNVUazy1+b1h9NXR/+tvyG56f6TGBhsxVu657MCWapFiIIBnHgOzKdT JzfrNHT49b2CbrFew1dVE+BNAHLLvmTQf0jkMBx5nVhd7DUd+xb6Oj0IWtTV3MR7eL8q F0QyaRBoRAxE0x9odvSTkzPlZ871uSk7W5jDE497zQa3tMWmIT28iUMCnAKE21WbkLmF 8Jv3ilm7QSmNyFn+T/uCpiqfUGNFtWDXi44do4kEQHAXZglsUEh1qqyKTdU8DwMA/Pl8 7CdEPbLEVN5lOf5SVFixgz1UTMs30NIMBfXQv6KMNAvxjg7f7mTNh1myrK1GyczN70pZ UXMw== 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=f/x80Qr5gVIc/tQMYbeXNFZu3wzW+kHE/zNX2gMu1ec=; b=Kf5lVC7/DHAtCXZhlotsWEY6bBZvwU1Wjd0RSkRQQO7DZClZyzgKvZjfOGIGrMgA/l +xaqR3ehM00BfISgb7e+0ifjx4Qq3b4iA6e9Yviro2s0MWC8KCKNALtCUsXgChCxs53+ bIDLjpPVp8NDOnxLL9VyeyXdJ1rAWL++d6rz6PlHoJmfsGF+n7vns8MV60b6TTw9NArG xPnDVoFLwib7I/tjWsjaJs7hLLlHADJx621fDUMq8jBzQSQOHs8bRfdTMuDqvy51F2pk qZ/nivJBYBg3+GAPyy/ykKx5gnfJP//QMzSf/BT0Jo3pGrvS2fCSlJatBZYc9f98kYQe juBA== X-Gm-Message-State: AOAM530UoFsx5M0qBEjU+aRhVgLRI2CMcyjPQvtrlif4ihbjsxN62Bs4 CWoJNU/unAZpSRgzMDTnonZL5baxGSEgTg== X-Google-Smtp-Source: ABdhPJwztUQnWd/7ifQ/PTx8bN645yH8If/nH5ajES5xU26IX5GBf56UXs9qcrEQRUQxy57CChOHFQ== X-Received: by 2002:a9d:7e8d:: with SMTP id m13mr4873075otp.54.1617242288203; Wed, 31 Mar 2021 18:58:08 -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.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 31 Mar 2021 18:58:07 -0700 (PDT) From: Glenn Washburn To: grub-devel@gnu.org, Daniel Kiper Cc: Glenn Washburn Subject: [PATCH 07/12] grub-shell: Set exit status to qemu exit status Date: Wed, 31 Mar 2021 20:57:46 -0500 Message-Id: <925d155eabaa527b64f182d3fc871231c9d972b2.1617240986.git.development@efficientek.com> 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::332; envelope-from=development@efficientek.com; helo=mail-ot1-x332.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:18 -0000 This allows us to test if unexpected output in test scripts is because of a bug in grub, because there was an error in qemu, or qemu was killed due to a timeout. Signed-off-by: Glenn Washburn --- tests/util/grub-shell.in | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/util/grub-shell.in b/tests/util/grub-shell.in index c6d7860e9..40c62b9fd 100644 --- a/tests/util/grub-shell.in +++ b/tests/util/grub-shell.in @@ -498,6 +498,9 @@ copy_extra_files() { done } +ret=0 +mkfifo "$work_directory/qemu-pipe" +cat < "$work_directory/qemu-pipe" | tr -d "\r" | tee "${goutfile}" | do_trim & if [ x$boot = xnet ]; then netdir="$work_directory/netdir" mkdir -p "$netdir" @@ -505,7 +508,7 @@ if [ x$boot = xnet ]; then 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" | tee "${goutfile}" | do_trim + 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 > "$work_directory/qemu-pipe" || ret=$? elif [ x$boot = xemu ]; then rootdir="$work_directory/rootdir" grubdir="$rootdir/boot/grub" @@ -524,11 +527,11 @@ elif [ x$boot = xemu ]; then [ -z "$files" ] || copy_extra_files "$rootdir" $files 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" | tee "${goutfile}" | do_trim + @builddir@/grub-core/grub-emu -m "$device_map" --memdisk "$roottar" -r memdisk -d "/boot/grub" > "$work_directory/qemu-pipe" || ret=$? test -n "$debug" || rm -rf "$rootdir" test -n "$debug" || rm -f "$roottar" else - timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial file:/dev/stdout -${device}"${isofile}" ${bootdev} | cat | tr -d "\r" | tee "${goutfile}" | do_trim + timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial file:/dev/stdout -${device}"${isofile}" ${bootdev} > "$work_directory/qemu-pipe" || ret=$? fi if [ x$boot = xcoreboot ]; then test -n "$debug" || rm -f "${imgfile}" @@ -536,6 +539,7 @@ fi test -n "$debug" || rm -f "${isofile}" test -n "$debug" || rm -rf "${rom_directory}" test -n "$debug" || rm -f "${tmpfile}" "${cfgfile}" -exit 0 +rm -f "$work_directory/qemu-pipe" +exit $ret -- 2.27.0