From patchwork Wed Dec 1 08:53:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabian Stelzer X-Patchwork-Id: 12649595 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 85B75C433F5 for ; Wed, 1 Dec 2021 08:53:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242263AbhLAI4p (ORCPT ); Wed, 1 Dec 2021 03:56:45 -0500 Received: from mail-eopbgr00072.outbound.protection.outlook.com ([40.107.0.72]:3017 "EHLO EUR02-AM5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S242123AbhLAI4m (ORCPT ); Wed, 1 Dec 2021 03:56:42 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E0RG+4EakLYIAxHWqG8nB9cHnMnUL3/u/ygRDwnowR4whGK1nLF2PTjzxko1q2I80Ax+J4IjjMEWf+sIOLQtCIjXohVcQ8hJZrcC1fklApE/XUUGmGrOXK3ZubHDNrjAj/eie3/Q1hwtWuou3zqNXHBGCiD7Aqq7rgJjCHEAi7XHIfx1ZgFxa2rbsJKBRY8dhzHife2+bI0mBWlt+epxylKoG0BUESZLGGv7/rrxSovGpCVwCqkLIfATx91ezF5iHzgbGIYDDoUYwhZX0v9RxNJ4u2kC/JFcx7R5cF46qHQ8grHUg3PmlpeX6u5xy0OBtf/9777SkVjvzCmGrP+7+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=XolakqfPWYWHKL+6wqf0S9fgpJNjIbDM11851SnP4ZY=; b=kQ0IF6GYlhvavzJJuJI+MoMm07+mjmCcSCWEqL5b2TJ90HN5qYkmyeSIkpO+kw4fYB+KNuFCFhY5NENeI28xHMga0oKu/Z+cL6Vh+FaQzCjeUT6xjvIhtNoopjO6zHXH7Y6B0PK1oYl13x4ok0Z1tNQ5z90zVb8FtaSNsRozpbDCDn/IlDYrmMBbuIUQNcPTtlm8lNaLxD/5YqP3+mILLncJLY4xuh3yv9w5Jk4Mc6Xwvt87EO1hhssAdRRIAwXD0Y00U9bOoaM31Qe/jO6jJb84GC+3VUqPkBITyCsMEz3ZvHyEdLvxvh4yPYiRH6IiunvnQPvmu4qO1FBd/zkVhg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gigacodes.de; dmarc=pass action=none header.from=gigacodes.de; dkim=pass header.d=gigacodes.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gigacodes.de; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XolakqfPWYWHKL+6wqf0S9fgpJNjIbDM11851SnP4ZY=; b=p2TQXd036un+4doEVsjhAvKtHg/phb9NEG+X4DyBsJpMe5E2dGZT27A6sdVo0gfO/FmQWxL/jZ7s8U15FVHs25lgsSra77uNPfnwIn052HQe/ohgrcyTcWGvipWIAP7jxruWyTWBhdPSxqzT6QSiqEFK3V5O/URPCkdCUetGBMw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=gigacodes.de; Received: from PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:12e::15) by PR3PR10MB4157.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:af::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.24; Wed, 1 Dec 2021 08:53:19 +0000 Received: from PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM ([fe80::d9de:b41b:461d:fb5b]) by PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM ([fe80::d9de:b41b:461d:fb5b%8]) with mapi id 15.20.4755.014; Wed, 1 Dec 2021 08:53:19 +0000 From: Fabian Stelzer To: git@vger.kernel.org Cc: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= , Junio C Hamano , Adam Dinwoodie , Jeff King , Fabian Stelzer Subject: [PATCH v4 1/3] test-lib: show missing prereq summary Date: Wed, 1 Dec 2021 09:53:13 +0100 Message-Id: <20211201085315.576865-2-fs@gigacodes.de> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211201085315.576865-1-fs@gigacodes.de> References: <20211120150401.254408-1-fs@gigacodes.de> <20211201085315.576865-1-fs@gigacodes.de> X-ClientProxiedBy: AS9PR06CA0227.eurprd06.prod.outlook.com (2603:10a6:20b:45e::16) To PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:12e::15) MIME-Version: 1.0 Received: from localhost (2003:ea:5820:600:c042:75a0:fd5e:1472) by AS9PR06CA0227.eurprd06.prod.outlook.com (2603:10a6:20b:45e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.11 via Frontend Transport; Wed, 1 Dec 2021 08:53:19 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a8bbc7bd-1847-497b-1737-08d9b4a805cc X-MS-TrafficTypeDiagnostic: PR3PR10MB4157: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1850; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y6ZyTSClqF5CjyAcEE2D5YaEKG/82Rdo82M66pmITi5POf1KyFmEHHgmvSm/mLL0bQOMMA5L7zT5iD/q6pc/F9C7QCJ9rFDMWRhObxNxXvzwdr5Jhh+FF2ZNWkQcpHiJ6YON0zwYI+hRKZnXJ4S3/l1jCQJLqsFpIrO5GM0NaIYCdMHxa6Om4uigCalhHITnN5UChMCtHeUZpJCbNawvN4XdsJ5DwEB+ZF1iYfUeCdlFYePw8uznYmSQtVQPCLtDWKnV7hwgdRxciRpgcBUzCJXwQ0rDAet23r6tUeNJpJ2UMC6/vIK/jaBCt68GPxfQ7F5FRwHhQnnE69mNNw0v9eyrHOG59EduKV6tmogVXgRgYeW0yj/YUOGhpJLHjgE7vRnaJ7Yw3hmI9XqlQqzv/3BiBUrjUIeEWH3B0iRtl81OdLM4F4YFjiSGjuAXR24Zz1YeW72/aW6ZmXhDIZ1sc1gFUka8AAxJi+HePvE34PrfWDeQQ2DuBYA5x1OftFNu2nAXMvYa1q3xGGoHnXsgyFpx2+qWO6/arAqxZ/hQRDyh8VCfPemDr57ovMuDgueRmhOuCMOXyeFvYzCwiVMe0Q5IK5xrfNWeVc+OfjiU6Gx5GJwgXLlszYzRRXOMAGRz1P2IHQrJ+3WJSG5umiWlpQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(396003)(346002)(366004)(136003)(39830400003)(376002)(508600001)(66476007)(6666004)(36756003)(66946007)(66556008)(4326008)(38100700002)(2616005)(186003)(6496006)(6916009)(1076003)(83380400001)(2906002)(107886003)(5660300002)(8676002)(316002)(54906003)(6486002)(8936002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oITQ7bU1iEO8n+tbM7DVAqrUf+zbLM24cljQQ72JbTYfBPZNdNLMVzHjLlpoU70UjTz8RUAOQ80jg8mi7npWYF+3ejdGKRIm26zpec+sgsAXo2ZKHDHE8Uw6tRXuwfvRfEQWs0AWdAqhIO2umkpzPkhQHlNI+MEeAiTEm6NPsYi9YvnMbVbzRfL34wSGCETjqdY0jIXyjUB1EwQRMbFox67h2C2SnGbi0Der1R5cks33jHixB7f/j47dO8lCxAfB3UndjVuXQkbn4PEnGLdDX4RiH/fTD2qyiFvS7LlRSaSP+qKhhAlZDiw1EtF4XbkFytU7B/anbdJiziCrqsP4P41crdTMzDCGkssYRiKFVE7ebzyzVu1qVikR5cfEwacb84sRjqQJr+j81+KL4r9E5ldgsSnmGH4xNuyjwhxFMigZqn4KI2ha7oCLwdpcEx29N1Q5S7z9ivxsU9znw9a1t0nRiqczipx+M0S8kne3uAq4yEDshY+wGC3yUHLguJaorZ5Msjoi5JOgaBqYqMlxrojT3nEPvq17BrhU9upYQTMgVqjtJslvATZdUz3sXxkkfqk0vQVBQVE+APkXAhYg1j+C698shQGeNmtrvSNOgQPG95oKXVUIZuKLJ2J/lwLUeWQoxSCLXqi+q2thjcOKa1YIc6hiVMGAcK7zV9P/35LaCIQqyMKTFXDNfpOKndofPuXFJjB5m7b5jISobh2zTV7ZzwH1btpjCJWeX+eAl8+I0QPHZPrL1jG8V1zJ9ubTvZRlZLsmzleUr2fw19qSyK0lrBixo2f1DbB/nIiAR+4Qoq3F8WaT/CLp+2OYipZpOvrcoLdwT4spZl75JdMy73XmgQlJhqHwzZR4Rgg9csWi2Uxwalt21/La6GkAkrJIVMJfq4ScbCOlLY2h5909Zc5t9f3QCuLgZNZYEfU+BBPGV82llX7bfkq/C7o/a3nJcOwVoffsPk0DTq/IwFtGg/3ItqV3rQNkXRrCb0JwNOI6EGDrMhyZMT41PBuK2rjEd7Q6ClTwDOzJdXX1IWIsy//3B8Y6Qh+oc3XxbOsyC3cYj6japGFCag/jYupH2wtTZ5sy4Nw+lDsT30+yMhJfgxxNHLYHQR+PrSsl7gDK53qqz7hGZH0bhHEFu8gyiDM6O2HcfPuaDCHoChgCx4PFKLirTCpk7dSzo92gexRi+WYuB4nYlKl155s2aqcdca1VtVrSN0JEhfGC4oW54cRdpx4PK65OPBTPzQqzKJlqsfF4BUe6F0OvLHUczDaSNoS6FENx7LRYNUo+XqQ2Ex3Jf6oq8SvCmoQzUVWXjc0yj+VGkHksHoQDEDXnOIiFFbIgBSxAV2mTP4BCPYZ6EO6HVEUgHUUBXLN57nmwQ5Wa9hIELC1ccnxAnX288aMK7p/JmIKIVywCYBOlH5PQvXo1izUnMDqvUmW5T6jPexT/iSPuoqdjp+n1BeZn2+hmEhHnr6PDTRYTx3fZeyO6Ki/3C1PJNJRSHH83JsotxpdYeB8NTYuiR1RT5JG99Q55s5TPpGJEkzI7b//i3af2oAM/OHc+f24Hp3dcL0lCjEvT+g05hsD4cPXRPWgnQ98IqSy5dnP85sIU1VONw2FgriyuEWybuS80rqL1uK4d3/I4unuzxjwbu8W2ns9wDECo6soInrEJ4MshtJcEn07BGOjEg1EKDskZSNZANldsXnpCr4imYptc0/me9PCrPjbBSmD4v0PcmrChJ4r8ZLwqf8d3VYJ3VcxpWfelRCvKCYl01yU= X-OriginatorOrg: gigacodes.de X-MS-Exchange-CrossTenant-Network-Message-Id: a8bbc7bd-1847-497b-1737-08d9b4a805cc X-MS-Exchange-CrossTenant-AuthSource: PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2021 08:53:19.5089 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 80e41b3b-ea1f-4dbc-91eb-225a572951fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Rjh7TpADTGtwkMs3sG6cCVOjBKFsm97Vyg0hTy7sDEEU4dPsOiNQ3hjEMphzqte51fCmEveq7FIo8tRJr3MaFzhf3IXg3iVjZ/L0WOXlFFA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR10MB4157 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org When running the full test suite many tests can be skipped because of missing prerequisites. It not easy right now to get an overview of which ones are missing. When switching to a new machine or environment some libraries and tools might be missing or maybe a dependency broke completely. In this case the tests would indicate nothing since all dependant tests are simply skipped. This could hide broken behaviour or missing features in the build. Therefore this patch summarizes the missing prereqs at the end of the test run making it easier to spot such cases. - Add failed prereqs to the test results. - Aggregate and then show them with the totals. Signed-off-by: Fabian Stelzer --- t/aggregate-results.sh | 17 +++++++++++++++++ t/test-lib.sh | 11 +++++++++++ 2 files changed, 28 insertions(+) diff --git a/t/aggregate-results.sh b/t/aggregate-results.sh index 7913e206ed..7f2b83bdc8 100755 --- a/t/aggregate-results.sh +++ b/t/aggregate-results.sh @@ -6,6 +6,7 @@ success=0 failed=0 broken=0 total=0 +missing_prereq= while read file do @@ -30,10 +31,26 @@ do broken=$(($broken + $value)) ;; total) total=$(($total + $value)) ;; + missing_prereq) + missing_prereq="$missing_prereq,$value" ;; esac done <"$file" done +if test -n "$missing_prereq" +then + unique_missing_prereq=$( + echo $missing_prereq | + tr -s "," "\n" | + grep -v '^$' | + sort -u | + paste -s -d ' ') + if test -n "$unique_missing_prereq" + then + printf "\nmissing prereq: $unique_missing_prereq\n\n" + fi +fi + if test -n "$failed_tests" then printf "\nfailed test(s):$failed_tests\n\n" diff --git a/t/test-lib.sh b/t/test-lib.sh index 57efcc5e97..9090ce1225 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -669,6 +669,8 @@ test_fixed=0 test_broken=0 test_success=0 +test_missing_prereq= + test_external_has_tap=0 die () { @@ -1069,6 +1071,14 @@ test_skip () { of_prereq=" of $test_prereq" fi skipped_reason="missing $missing_prereq${of_prereq}" + + # Keep a list of all the missing prereq for result aggregation + if test -z "$missing_prereq" + then + test_missing_prereq=$missing_prereq + else + test_missing_prereq="$test_missing_prereq,$missing_prereq" + fi fi case "$to_skip" in @@ -1175,6 +1185,7 @@ test_done () { fixed $test_fixed broken $test_broken failed $test_failure + missing_prereq $test_missing_prereq EOF fi From patchwork Wed Dec 1 08:53:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabian Stelzer X-Patchwork-Id: 12649597 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 3BA1CC433EF for ; Wed, 1 Dec 2021 08:53:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242293AbhLAI4r (ORCPT ); Wed, 1 Dec 2021 03:56:47 -0500 Received: from mail-eopbgr130042.outbound.protection.outlook.com ([40.107.13.42]:29029 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S242217AbhLAI4n (ORCPT ); Wed, 1 Dec 2021 03:56:43 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hu8ngqGkxOBReHGT+EBpscwDgHSpW8kIpoEfT9O8kElPI1stECZBDKmXcgCdh62VTAKaPI05+TV7CZKsJTJcquc1h447u2MbTwjeU7kpsFoOsekf7GC50vLQ4bSL+W+whS1o0Y/1Ju8UgMWzWt5J3Fe6Kvb2h2zft1KJQVgNfEMisyiAbjvBWBsTUSUVJyA6x/wawQ9wkgQTUeyB+gCo/eQHcggCMr1p1XmYG0SQ1OhXeDkCjMzyDi0tx0jz8Y19wyPUPcRAgCkGor1sLQyEYmvLiS6Xl+Y/FUFqLnzdghidkepnGXGTLBaqtGF0VAuvctAa/xGtoQfx+a7UWT+bow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hTQZyVr/Mt4izHFXJqibmSEaAVZQTx/lcFbp4gqVu3Q=; b=jcTzpaj0zCv+3c3/eBAdTZo4RXU3w8XXwtgJTQxiU651NJ/M7oPT85hEqFYY/jGL9Yjez5NBr4jEJRlCWuu2Q1PpNr4104ZNGT4kfV8glGDGQouZitHRG6pbEjCcsXo3M7iuwN2M3duNrC0mmavkCJS0S6d5ciWrbIoDtoEZuo8bfGXO5Rbn5ucPCzNHugKs8v+vmCTF6Y8tpWFn7/Ngw3fsecx6oxjDNzsYqhLPThEcixoNQVG6c1VY6pgxGd8GQIvwIdpw/BY3ECiGzb9QMgzmH2VTIvZWMqc+RZ6cRfUNQDDtpYBcw4M5ZmZ22JjlIa3l2k7IzSTx1Se89muEFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gigacodes.de; dmarc=pass action=none header.from=gigacodes.de; dkim=pass header.d=gigacodes.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gigacodes.de; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hTQZyVr/Mt4izHFXJqibmSEaAVZQTx/lcFbp4gqVu3Q=; b=hoBN5rGBTmMaI8fO6LW8CsJ89Hid8e7oNPTAA84tnr/SN49UBsU6K7eJy0TKKT/G2eVss5oMqq7SSe6Awpv08fGVeDob83MjrvQnzfoECHn/ILJ599JldLJk8/PRgtt68Rz/gVSciF8bTWAx2fjLgVn/FrdNJQnaSOT+I2gpw60= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=gigacodes.de; Received: from PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:12e::15) by PR3PR10MB4029.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:94::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.24; Wed, 1 Dec 2021 08:53:20 +0000 Received: from PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM ([fe80::d9de:b41b:461d:fb5b]) by PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM ([fe80::d9de:b41b:461d:fb5b%8]) with mapi id 15.20.4755.014; Wed, 1 Dec 2021 08:53:20 +0000 From: Fabian Stelzer To: git@vger.kernel.org Cc: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= , Junio C Hamano , Adam Dinwoodie , Jeff King , Fabian Stelzer Subject: [PATCH v4 2/3] test-lib: introduce required prereq for test runs Date: Wed, 1 Dec 2021 09:53:14 +0100 Message-Id: <20211201085315.576865-3-fs@gigacodes.de> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211201085315.576865-1-fs@gigacodes.de> References: <20211120150401.254408-1-fs@gigacodes.de> <20211201085315.576865-1-fs@gigacodes.de> X-ClientProxiedBy: AS9PR06CA0231.eurprd06.prod.outlook.com (2603:10a6:20b:45e::28) To PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:12e::15) MIME-Version: 1.0 Received: from localhost (2003:ea:5820:600:c042:75a0:fd5e:1472) by AS9PR06CA0231.eurprd06.prod.outlook.com (2603:10a6:20b:45e::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.22 via Frontend Transport; Wed, 1 Dec 2021 08:53:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 82198e2e-bbbc-4bca-9dc6-08d9b4a8064c X-MS-TrafficTypeDiagnostic: PR3PR10MB4029: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JZ/c33bdHyWK+GV6LmOlMAdrwXR3Q5P/vM2JMW5rzKOCFVAf6sWWSzT8MaBf/sW4401r+uqYAAAeaV8uvfiDoiEzpWKcuJ460hiSVfeLB4XQcN8u/6/4LmT3D2Vq0OQSBzy2EmFbffk34KAZ33Uqyr/qYrmnggkB4M5H25oLg3NRflAKCgOONhDnn8gylz1qE7dnABbjj/uIileh+ZrU5B3hZGJa+wXNmvYTIKNAChDnQTlpPeNIzalGXHAfPcenP0L1GxqnTaLyHFjoRiSeo/CkYEC6En5FEqAE5UNXquqjNJwng0Deppg3kViTFSWf0kpsVkmzJtQZ+6LxOw3r3NQBh2Vo3if+x4ai/bNAZMEFBc4gT92MDlQGwyeZYaLbQ+nAmdTy8T0vLJySWgMMmjdgdFVKm/ZdXiBHVbzZau7pJaRpFMlM2iK9yzgMXeEyqiswx2zEfCH6Ce2S6pn2WWmP1zMFaTeZraLXsUJvb9+aI//ipVYt7/cFBByQtyEP1OAMm3TJ5JxCDlxiK/otdzlBI5CDBC0HcXiUVO+p4zfCf0un8u5+mNssmqQ/0IeV32SiPJZ/zuGstk8hDtiYgW3rB5H0CHNBJOuz4rnnfw80JWqL+f0NBHSzRqBOP+Ebdy9wQ1Lq2BMxoV5hOKQktA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(396003)(39840400004)(136003)(376002)(366004)(346002)(66476007)(66556008)(6496006)(8936002)(508600001)(8676002)(5660300002)(6486002)(6666004)(2616005)(38100700002)(2906002)(316002)(54906003)(36756003)(1076003)(186003)(83380400001)(86362001)(6916009)(66946007)(107886003)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Gt2Qp4efcYkaBeWttuna7QweP8MVCJ0rnGVaAoLxw02wYBPBBIlJu/3AhsDh+yf0Iv/9MpWsvnix7W98VZfJt4IXsyPDLWJlTgp5cCZGSPcdAwdmC9OSb4Y5akGSvH4PzLXqPKdAuZb36Zjkoo0tHAteduygVpbg2QcV/hJ1sX7GqvRDId7jQO52BytpCJQEcVag01/JviZavMQpvSoqotZYstQhUJ2gqQPJeJnJHmzyk5iUzN/vpUW+v07IQ8XLn6AxHFkwwWfiCL33deGJcUwGDsVsXW+A6K4BqXYWbuE2l8Fv35wp64m0YKqNi8Sv2QH/hGfQU9n5YIoR5NL7WwZmJRaBZzSca1WV2PGcZYmn032w7joJ6WB8jgF+wjGhLqC9NrHkKx7tRPVV3eVq82qdm+LxkB2v6uOYVh7WtsIO5bv3Ii5p6N93a6JwSF1LZUBD8XFfAHgTLQ12+CR3jkwCfzEou8jxesI+DPJiIL6qjlUthcx1FOHfAqf+qAnZmKW41gKEKltVt1I/C+Vh5TDXEhgNz+6DzU0x4jvNrrVInDGPHplfa2C3xCFCL6mXLEA3nCe620eGAQjNlQBdWUWMNGck26Nj1qF8pobwxtF3GJOdLvZqh6Rx47kdl5tUnb2aqCSLxaY0v30LCqVpjlb49YCWiD5ADnWaXXED+f4qdTmKjX+MeGgv73NAGeeQwBgiUBPEvniJXbohXmkwTMVOMCpib3gW9exzJ2U5QjXlGfMeKjughFfhB/PuXRkLRknfm7miFa5vV2uDIU/7FVQhWnizIHX/PmnNf+ZXddLoW15Q/XT26ipKaOIHzpeaMHQ/IujndCb4dJFu43MG7ywAG7qhFnBsxutJhl7Ax2OiaisV0OroTCZiLYiIf5XaXs/G/StmxZm0PyPgPNGcEUK1LHnjxjTrScLrascxrd+4HeeaYUoXHZxVKTtuQoGJPvv0DZXRcnzu7QHDeg/SlV86AMhR7a4sqNwZtyznhz82FPCmRYYMbI5mJdiw0Tu1HrKynaMyUAXi1j34yvi3Ln3rnMZG4bjkQjNO0kggkDRtdn1u1+bLK9kg2xavQB8+vOfEusKBf3qJcNukm83xO7BQlJGrlTCkiU5mZgzO2JWSxhEsk8GMIMMzjVik5PJZ/laBqcnK4kU/oB5KrdIN7FG1cst1RIQL0R66ItjnhlxK7p4K/x1xpCVP6etkjnM9AeQhgaYqzPJ+eq7EDyyQlL+nlB7mAIcXSYuDtKG7grK4rIlFaRF+Hejj8WZ2k/AIsxuWmt2iYBiV6ai5T9zJ60ijd8kKzoR1TGionFT9T58eC9TZv3+S3gjIYwj2f1BQ4mmWHjbCU7SjM8uioDpGEOxO4mpWLbbV/amBxpkISZuG9wi/OEgXQH1SDOFf0c9yn1BYwEoSzOmUaGSqpPRWeG8qyEkNCiiaBWTvP9Yj71wGCy7yRCuOYCJzDzQALp8XmyhfmoX6lB35iOQP73HkU6HQk0F4t90gXNx/wCN883Ydcv0IO76+Ddk9WNQZqedhuIgcymzPnWGA0TIbNwC7MhzXu0d0VzOJxHorqDm2Ux6wKP06MDiBTtBWQ8FejAgRq9pv1JE0xoSXgjxtGXzTT66b4zJAnM1P6fA9s6NJ3I0lNbpbU9OuhyDRFZa1d6r8QRwD6PaUvO1MJqyY9JQRsNiQ1nTNuu+N1KcPBPdtdLk+XsNVVPVkuW/Fh6g+pDxVhnFg3Olli+qTYxR6CSGI7vpd13Pi1O5lueBBiwSZGTk= X-OriginatorOrg: gigacodes.de X-MS-Exchange-CrossTenant-Network-Message-Id: 82198e2e-bbbc-4bca-9dc6-08d9b4a8064c X-MS-Exchange-CrossTenant-AuthSource: PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2021 08:53:20.3801 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 80e41b3b-ea1f-4dbc-91eb-225a572951fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xl1FmOwsmcg/V2H6Vs3MhXAPEvs52krqkrvc3xNPZmom5xsYC1imC4B3/0bZKLTPY/bHTCqenO97aBKaDDzrRdYccFv6OLUYzZxhpZ01p70= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR10MB4029 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org In certain environments or for specific test scenarios we might expect a specific prerequisite check to succeed. Therefore we would like to abort running our tests if this is not the case. To remedy this we add the environment variable GIT_TEST_REQUIRE_PREREQ which can be set to a space separated list of prereqs. If one of these prereq tests fail then the whole test run will abort. Signed-off-by: Fabian Stelzer --- t/README | 6 ++++++ t/test-lib-functions.sh | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/t/README b/t/README index 29f72354bf..2353a4c5e1 100644 --- a/t/README +++ b/t/README @@ -466,6 +466,12 @@ explicitly providing repositories when accessing submodule objects is complete or needs to be abandoned for whatever reason (in which case the migrated codepaths still retain their performance benefits). +GIT_TEST_REQUIRE_PREREQ= allows specifying a space speparated list of +prereqs that are required to succeed. If a prereq in this list is triggered by +a test and then fails then the whole test run will abort. This can help to make +sure the expected tests are executed and not silently skipped when their +dependency breaks or is simply not present in a new environment. + Naming Tests ------------ diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index eef2262a36..389153e591 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -680,6 +680,17 @@ test_have_prereq () { # Keep a list of missing prerequisites; restore # the negative marker if necessary. prerequisite=${negative_prereq:+!}$prerequisite + + # Abort if this prereq was marked as required + if test -n "$GIT_TEST_REQUIRE_PREREQ" + then + case " $GIT_TEST_REQUIRE_PREREQ " in + *" $prerequisite "*) + BAIL_OUT "required prereq $prerequisite failed" + ;; + esac + fi + if test -z "$missing_prereq" then missing_prereq=$prerequisite From patchwork Wed Dec 1 08:53:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabian Stelzer X-Patchwork-Id: 12649599 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 5F2D9C433EF for ; Wed, 1 Dec 2021 08:53:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242355AbhLAI4v (ORCPT ); Wed, 1 Dec 2021 03:56:51 -0500 Received: from mail-eopbgr60067.outbound.protection.outlook.com ([40.107.6.67]:46724 "EHLO EUR04-DB3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S242245AbhLAI4q (ORCPT ); Wed, 1 Dec 2021 03:56:46 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hiDcx9oDPLm2hVD70un2Zthj4cMdki+QCKBDxuVS9PIDeLGo4kHqmASILe1CARpJqm5+Ef+cWFipgWyvulxO1NXo+Sd7s6Go905CITx7GIyCa+5bMzAALnlnAi7j4UAEs/ZcM4XSgb+uBeSDz89/vw404WzFhXRq6NDlgUIxeQATe2b6yJPki9D9mt4v04X/yV5JilsjNHf/TmyYzg1qrihXnTNtiI/zNR5ZELHfK9zjBwDQ5l08NimRKKCJekK0YUV9Zv/SW788RONj/K53L7+NaYKb+LkpoTmmINuuAty4uW6L8L9hPjRBP/19UZk4Oe2nfwDSs8ClVM5fNx09ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=aoYbcHTJMs/Z2Pj7a5kOtbEFUkRsB/gEZQs4ZiDKjD8=; b=jSWMQRPpib1WQ7m0wqP55NI9/03N0hQyKUDaLcQ7nEDu7ofqbmztoB/E9Uw7reLOfCfXb0UMZYZG2BZOzLScqF84woI6gAJWaS59UVkK2LosHRkNhSwHOGxiGa7v91byzqgr+aspVIiiK/7oqc7jLWmyZeSc3MqjK6sx8yQWP9ltRgp8u5aAxk8FgNZCZqLUSuIK4basV0V9nK3bppJbrX+v4LhOchJ5iFeXaZn5nUgTlY41vwRNSmpsnckNJy+xzC91Nv3kJmA4nQlWyyD2Ujxs4juoZXnUdjJRBr9S7t9l3cR5p8YSEvn9zKtcBH+xYj4Dp1bXzZ9u99Fb42enSQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=gigacodes.de; dmarc=pass action=none header.from=gigacodes.de; dkim=pass header.d=gigacodes.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gigacodes.de; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aoYbcHTJMs/Z2Pj7a5kOtbEFUkRsB/gEZQs4ZiDKjD8=; b=M4Y5IzUxuRrVwVvL+CThLycsTTX/a82driqWMfvpiUMv6Yym+TlUbuKvInbcCvp/JHrMaFwbjr8zO7CRQPtdsCjuHj2GpT6/TM/9I1wPzrOzZzkA/gS2hck0roP8NTN1A2Y2X2Q3Fhipc0jBNYmOEOHgrHevaHOnwg2gIBYlVmM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=gigacodes.de; Received: from PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:12e::15) by PR3PR10MB4029.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:94::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.24; Wed, 1 Dec 2021 08:53:21 +0000 Received: from PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM ([fe80::d9de:b41b:461d:fb5b]) by PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM ([fe80::d9de:b41b:461d:fb5b%8]) with mapi id 15.20.4755.014; Wed, 1 Dec 2021 08:53:21 +0000 From: Fabian Stelzer To: git@vger.kernel.org Cc: =?utf-8?b?w4Z2YXIgQXJuZmrDtnLDsCBCamFybWFzb24=?= , Junio C Hamano , Adam Dinwoodie , Jeff King , Fabian Stelzer Subject: [PATCH v4 3/3] test-lib: make BAIL_OUT() work in tests and prereq Date: Wed, 1 Dec 2021 09:53:15 +0100 Message-Id: <20211201085315.576865-4-fs@gigacodes.de> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211201085315.576865-1-fs@gigacodes.de> References: <20211120150401.254408-1-fs@gigacodes.de> <20211201085315.576865-1-fs@gigacodes.de> X-ClientProxiedBy: AS9PR06CA0217.eurprd06.prod.outlook.com (2603:10a6:20b:45e::17) To PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:12e::15) MIME-Version: 1.0 Received: from localhost (2003:ea:5820:600:c042:75a0:fd5e:1472) by AS9PR06CA0217.eurprd06.prod.outlook.com (2603:10a6:20b:45e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.11 via Frontend Transport; Wed, 1 Dec 2021 08:53:21 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ecdaad62-efaf-4bc5-a7a9-08d9b4a806f9 X-MS-TrafficTypeDiagnostic: PR3PR10MB4029: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uzQ6/9GEM3eO1ulS9iIIfujmzBncxD8hp+LN9glMU51BzDo3LzIqEXWWj3+rzP/ItLN60GjgGMrPf3d8oU0nRt5Sy9kC3VYyD0lYxGRCF0KKqVHFoNkndr7wzML5EIeF9Q/PkZoE+Ub4m5H0y69IWdg/iScdGNPG9Rmo8swLROWWgXpqXnrUv+YHVyQFM3JuFHbBwzrcWdjHzJQjhbeKqhw05cTLt3SUm68YZ6wqq9ZALFfdx15Hl/4iD32vJRsrpXJH0WOuR8efZjiUJkM+5+FNALgTs+e4Ne5+y93VUzDXoYC4k0gmsDAmYOuTQkEG1IJEC8VKf+s+7GobmF7F0g1yBl128QNOEjYn+S8SzediZJdBo/e9NQG3zp+iA/YhxYlnkll52ktMgsDaZGcKfJRBwAe2U2VqZCyzzC+4rf9wa3ixTRUhpM6Hx1IKrjhtZSfI6ertrLdEn5MHjqOAtZf7GnfXHrCNHLGsf0gZuWbbo6fkXDtjS/zYzdppncARrNmgxxLOuU/TvvD6q9kqUlAd1b77x4bNuOoTXzHfLCeZXyfHOq3y5ppOVhTaBoollivjpZszZTpMrr6Hpi9qGfCL826fYx8nL4CnLGhxxkxh6IDsuK1zJ4haz+nY4xDFwPCpd1yOdJzPtCq9qc/i7w== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(396003)(39840400004)(136003)(376002)(366004)(346002)(66476007)(66556008)(6496006)(8936002)(508600001)(8676002)(5660300002)(6486002)(6666004)(2616005)(38100700002)(2906002)(316002)(54906003)(36756003)(1076003)(186003)(83380400001)(86362001)(6916009)(66946007)(107886003)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ze4uZBW4BD7u5DsPRJ3j1bHGW/r2tGYqShELb0zc3/t5XeEpU8iUi48FAUV/BhtmgJbsLf5xU+/UQ+JghxtuaeyOckAKYuv85Rlteictf+P6dF+6TzBs1PBKRVN0rKWgaRVIJK7s0RcW2bS4J8KfFDyWsH0W/2TYnTOobcjG6o0Y4Fxvy2f1L7XXdrYTE1cTAl4svdRiL41+W46ahRl/slkj6ZA5zt52IRLjWMrAjQ49Q/cKFC3cq9pNM2AMAU8Je7SEtMtkJtXDm8+FjJkewZbd4pbFNnQVySrjui7067LoJE0BSWxKxp0Rtav6GlSuOUyd3lIab1CxTr0cEsQoXF//ULSXdin0VETZDqxzMjWuury4dWeEyT2nODuWOw2/3pKCLzkgOu/VHRBEnN+OCVL7jQ1qDKpIHNDQnLkSPwG+USEEkdvq74lZ042bUZLYJRJJbjYeTXmbgl40hoXWZ14ZQ+iu0Q1hQIlo1TS5QiQNO9uJtBVeJebVFka5Z4ADyQ4Lf7CocCbKqu45/I9mcqh7XjgZyQHsUOFQTVqzTbfHwD5RMmX0+vD3yWqk2OVsoSLBJFDoYcml10/XqpxyUjZ8Nm6gW/JIvK5HtkoJ/T81dm7cEBueV3iY52ZfnpU+tcc4L3NKrS7expAnYoBDyQFlsWu871zO56LFlG+f+v3IjBBZCH7SI6iGTpEy0FzgOTTis+OzvlZQ/Ov0eZ6MbqfQKRJfGfOuz4dmeFmIFPZwBd/iT57l58NOkWS7EKwyh3NvufQl5mL/ALxdNQZ8a/c371npDf6kLEDSwrcqD9ajl7FAm7EjyY13GonNkDRfdBMnprrvwIzU5sJvIgCvZ8knJR5Sa5POsGsDJSvRGBxKZBX9DZ7+f5MbngIuGjwVAGEqO5Eiq+ldV6jGsXErksmfEgeyQ+ICqB55A1IzVc0D15HCvDAcA3uLUYYeB1a5ZV4BQiuYs5Yi2TK4U+dGX8JaP5b2kdi9A0Ht4IvFiEYKn1zljxbBuK5pqDKrRSt1uvrpUlZc7yXMg8V71KpESZrkZ3KDt41NbuxuppOoJsRKGA66cjm8kHlWyISQ+4l5UcfguxfOxQgvmQE4hNNg/MMJHu0CtTyhzYdh4tmTRgiXkk9mydbYrc2ykFvEN8IGIwU79jov/dFYJNHvqnhCjFiQUYCOpEDP4IL70z9KVgC72S5ApoC38KCmXIIC+RpsYBSlQeq/YhXixJr5d2PgGucVMSpO/CglAYahLRfwekuCUZJgTYPcWMiYr1IcSFMPLbbprhX0SAxlBR8YaBetTIfF32sIipxkh8qY4SgcArEVPwcWvlsySs1KbpMM0eOvlXDHByf9qSxmeBm54IV9tUBAEn3bFpRnB9HOfFOAMwWdrM1sWMcyiO47lfFOLPBwuBR37dxn2i19r+zBQCAzIfNsqByiKNcuDWP6EinYWoUkMLXvnRw/gM+VQL4nOk19/Dzfqwgri9QHuHv1AR9uwf0K+XGNqHyEafro+Fih7i+G/IKorijTbLrieF1zdC/49nEnX29QrZ9mOxGnen8XgL+vMGhwTPTrMjbzrZxr7HDpS4iZ/ybiXevkzrL7Ocbmh8ZZz5KlmJe9U5o92+2rF9Pd1RD8m4D3yi0gJbXJgHMcUWMrIFxB/lg9eEEvsGqLcrsNQJp6ASAri5NsBYw+1rVRhgBGBP0D3jQ7DlvsBmZu70SRX2WSeCM337h6EzlxBgYU2dqP17H5xQy4qiQ4B9zUwqPxdvTJs2a5UNBT5O4= X-OriginatorOrg: gigacodes.de X-MS-Exchange-CrossTenant-Network-Message-Id: ecdaad62-efaf-4bc5-a7a9-08d9b4a806f9 X-MS-Exchange-CrossTenant-AuthSource: PAXPR10MB4734.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2021 08:53:21.5529 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 80e41b3b-ea1f-4dbc-91eb-225a572951fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: V7oMEwCZEM+/Vd7V9Vmh++/bjiK8P8FnZpiJcRX2GjSU4ICKG22e8QxmeqHlrjd/CUmfSTWVJc949fVAQPVHePsAu5DyhBZbE56n1QSOBDA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR10MB4029 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org BAIL_OUT() is meant to abort the whole test run and print a message with a standard prefix that can be parsed to stdout. Since for every test the normal fd`s are redirected in test_eval_ this output would not be seen when used within the context of a test or prereq like we do in test_have_prereq(). To make this function work in these contexts we move the setup of the fd aliases a few lines up before the first use of BAIL_OUT() and then have this function always print to the alias. Signed-off-by: Fabian Stelzer --- t/test-lib.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/t/test-lib.sh b/t/test-lib.sh index 9090ce1225..14a7aeae0f 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -589,6 +589,15 @@ USER_TERM="$TERM" TERM=dumb export TERM USER_TERM +# What is written by tests to stdout and stderr is sent so different places +# depending on the test mode (e.g. /dev/null in non-verbose mode, piped to tee +# with --tee option, etc.). We save the original stdin to FD #6 and stdout and +# stderr to #5 and #7, so that the test framework can use them (e.g. for +# printing errors within the test framework) independently of the test mode. +exec 5>&1 +exec 6<&0 +exec 7>&2 + _error_exit () { finalize_junit_xml GIT_EXIT_OK=t @@ -612,7 +621,7 @@ BAIL_OUT () { local bail_out="Bail out! " local message="$1" - say_color error $bail_out "$message" + say_color error $bail_out "$message" >&5 _error_exit } @@ -637,9 +646,6 @@ then exit 0 fi -exec 5>&1 -exec 6<&0 -exec 7>&2 if test "$verbose_log" = "t" then exec 3>>"$GIT_TEST_TEE_OUTPUT_FILE" 4>&3