From patchwork Fri Jul 21 04:40:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacob Abel X-Patchwork-Id: 13321335 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 0DE30C001DE for ; Fri, 21 Jul 2023 04:41:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230390AbjGUElg (ORCPT ); Fri, 21 Jul 2023 00:41:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46314 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230324AbjGUElH (ORCPT ); Fri, 21 Jul 2023 00:41:07 -0400 Received: from mail-4317.proton.ch (mail-4317.proton.ch [185.70.43.17]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A410130C1 for ; Thu, 20 Jul 2023 21:41:01 -0700 (PDT) Date: Fri, 21 Jul 2023 04:40:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nullpo.dev; s=protonmail; t=1689914460; x=1690173660; bh=eGz2L0fx2rKREibkbt+UE52ZxLl+jlq2Xv7CWKxzTL8=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Bb2SqtzLcJoe/U7Fp3CIf42+V1n3ATIQIF68c8cXYPHpddl72H0TTT8D67tOPa0bx V4y7k6RS78mvwKvYSc2nxn4NWzyau1v3DdY3KSaloRoWXkRE6W97c+R7l9tFi/q16X U0SKagaJT/Ak0HEC8Hi2hO9DwE9c4KxwvddMuuHbGq6k/mYA404H+J7oWiindnSZXW bzA8ztYdOdbFOCQVG7REEcC7nHEu9b8Jx5VZIwKAqW+7iJOOB5EMR7PmepUs5Gu2Bm DDuZ+Zap5SMrFWAjK5SJrJfIxjw4Pvm/lui818yOv9AWcoTrq0ZkHGMlaVdJC84k3X TrYvxEooWdxXQ== To: git@vger.kernel.org From: Jacob Abel Cc: Jacob Abel , Junio C Hamano , Phillip Wood Subject: [PATCH v3 3/3] t2400: rewrite regex to avoid unintentional PCRE Message-ID: <20230721044012.24360-4-jacobabel@nullpo.dev> In-Reply-To: <20230721044012.24360-1-jacobabel@nullpo.dev> References: <20230715025512.7574-1-jacobabel@nullpo.dev> <20230716033743.18200-1-jacobabel@nullpo.dev> <20230721044012.24360-1-jacobabel@nullpo.dev> Feedback-ID: 21506737:user:proton MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Replace all cases of `\s` with ` ` as it is not part of POSIX BRE or ERE and therefore not all versions of grep handle it without PCRE support. For the same reason all cases of `\S` are replaced with `[^ ]`. It's not an exact replacement but it is close enough for this use case. Signed-off-by: Jacob Abel --- t/t2400-worktree-add.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/t/t2400-worktree-add.sh b/t/t2400-worktree-add.sh index e106540c6d..eafecdf7ce 100755 --- a/t/t2400-worktree-add.sh +++ b/t/t2400-worktree-add.sh @@ -417,9 +417,9 @@ test_wt_add_orphan_hint () { grep "hint: If you meant to create a worktree containing a new orphan branch" actual && if [ $use_branch -eq 1 ] then - grep -E "^hint:\s+git worktree add --orphan -b \S+ \S+\s*$" actual + grep -E "^hint:[ ]+git worktree add --orphan -b [^ ]+ [^ ]+$" actual else - grep -E "^hint:\s+git worktree add --orphan \S+\s*$" actual + grep -E "^hint:[ ]+git worktree add --orphan [^ ]+$" actual fi ' @@ -709,7 +709,7 @@ test_dwim_orphan () { local info_text="No possible source branch, inferring '--orphan'" && local fetch_error_text="fatal: No local or remote refs exist despite at least one remote" && local orphan_hint="hint: If you meant to create a worktree containing a new orphan branch" && - local invalid_ref_regex="^fatal: invalid reference:\s\+.*" && + local invalid_ref_regex="^fatal: invalid reference: .*" && local bad_combo_regex="^fatal: '[a-z-]\+' and '[a-z-]\+' cannot be used together" && local git_ns="repo" && @@ -998,8 +998,8 @@ test_dwim_orphan () { headpath=$(git $dashc_args rev-parse --path-format=absolute --git-path HEAD) && headcontents=$(cat "$headpath") && grep "HEAD points to an invalid (or orphaned) reference" actual && - grep "HEAD path:\s*.$headpath." actual && - grep "HEAD contents:\s*.$headcontents." actual && + grep "HEAD path: .$headpath." actual && + grep "HEAD contents: .$headcontents." actual && grep "$orphan_hint" actual && ! grep "$info_text" actual fi &&