All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Elijah Newren" <newren@gmail.com>,
	"Đoàn Trần Công Danh" <congdanhqx@gmail.com>,
	"Elijah Newren" <newren@gmail.com>
Subject: [PATCH v2 0/9] Support both merge backends in the testsuite, via environment variable
Date: Mon, 26 Oct 2020 17:01:35 +0000	[thread overview]
Message-ID: <pull.769.v2.git.1603731704.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.769.git.1603468885.gitgitgadget@gmail.com>

This patch series builds on top of en/dir-rename-tests. It can be applied
independent of my "new merge-ort" API series I submitted a couple days
ago[1], but this series uses the same environment variable as patch 4 of
that series.

As promised, here is a series that makes the testsuite changes needed to
simultaneously support both merge backends, keyed off a
GIT_TEST_MERGE_ALGORITHM environment variable setting.

NOTE: The tests do not yet pass with GIT_TEST_MERGE_ALGORITHM=ort, because I
haven't submitted the implementation of the merge-ort functions -- yet. I
figured they are useful as a high level overview of the differences in
behavior between the two backends, and thus am providing these before the
implementation.

Changes since v1:

 * Minor tweak to test_expect_merge_algorithm() suggested by Junio
 * Updated a test for portability
 * I had meant to leave the final patch, patch 9, out of the submission.
   But, since I submitted it, update it to match my local version of that
   test with one additional thing checked in the result.

[1] 
https://lore.kernel.org/git/pull.895.git.git.1603286555.gitgitgadget@gmail.com/

Elijah Newren (9):
  t/: new helper for tests that pass with ort but fail with recursive
  merge tests: expect improved directory/file conflict handling in ort
  t6416: correct expectation for rename/rename(1to2) + directory/file
  t6404, t6423: expect improved rename/delete handling in ort backend
  t6423: expect improved conflict markers labels in the ort backend
  merge tests: expect slight differences in output for recursive vs. ort
  t6423, t6436: note improved ort handling with dirty files
  t6423: note improved ort handling with untracked files
  t6423: add more details about direct resolution of directories

 t/lib-merge.sh                         |  13 +
 t/t6400-merge-df.sh                    |  14 +-
 t/t6402-merge-rename.sh                | 122 ++++-
 t/t6404-recursive-merge.sh             |  14 +-
 t/t6416-recursive-corner-cases.sh      | 200 ++++---
 t/t6422-merge-rename-corner-cases.sh   |  37 +-
 t/t6423-merge-rename-directories.sh    | 706 +++++++++++++++----------
 t/t6426-merge-skip-unneeded-updates.sh |   3 +-
 t/t6430-merge-recursive.sh             |   3 +-
 t/t6436-merge-overwrite.sh             |  18 +-
 t/t6437-submodule-merge.sh             |  25 +-
 t/t7602-merge-octopus-many.sh          |   6 +
 t/t7610-mergetool.sh                   |  32 +-
 13 files changed, 807 insertions(+), 386 deletions(-)
 create mode 100644 t/lib-merge.sh


base-commit: c64432aacda9054459ce550eca95929897c301bd
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-769%2Fnewren%2Ftests-support-both-merge-backends-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-769/newren/tests-support-both-merge-backends-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/769

Range-diff vs v1:

  1:  a8d4825a32 !  1:  f5d3295262 t/: new helper for tests that pass with ort but fail with recursive
     @@ t/lib-merge.sh (new)
      +# Helper functions used by merge tests.
      +
      +test_expect_merge_algorithm () {
     -+	status_for_recursive=$1
     -+	shift
     -+	status_for_ort=$1
     -+	shift
     ++	status_for_recursive=$1 status_for_ort=$2
     ++	shift 2
      +
      +	if test "$GIT_TEST_MERGE_ALGORITHM" = ort
      +	then
  2:  9394d526f1 =  2:  f27f12e8e5 merge tests: expect improved directory/file conflict handling in ort
  3:  1eae84b787 =  3:  38919982c4 t6416: correct expectation for rename/rename(1to2) + directory/file
  4:  554feb2aa7 =  4:  6e47fa19f8 t6404, t6423: expect improved rename/delete handling in ort backend
  5:  5bead7fa0d =  5:  e8a7d6ac81 t6423: expect improved conflict markers labels in the ort backend
  6:  2aa44c1f13 !  6:  4f32450b08 merge tests: expect slight differences in output for recursive vs. ort
     @@ t/t7602-merge-octopus-many.sh: Merge made by the 'recursive' strategy.
       test_expect_success 'merge reduces irrelevant remote heads' '
      +	if test "$GIT_TEST_MERGE_ALGORITHM" = ort
      +	then
     -+		sed -i'' s/recursive/ort/ expected
     ++		mv expected expected.tmp &&
     ++		sed s/recursive/ort/ expected.tmp >expected &&
     ++		rm expected.tmp
      +	fi &&
       	GIT_MERGE_VERBOSITY=0 git merge c4 c5 >actual &&
       	test_i18ncmp expected actual
  7:  9d46cc1ef3 =  7:  c5350fd0ae t6423, t6436: note improved ort handling with dirty files
  8:  436577106e =  8:  6fd224247d t6423: note improved ort handling with untracked files
  9:  2659d1cb98 !  9:  6e308768ff t6423: add more details about direct resolution of directories
     @@ t/t6423-merge-rename-directories.sh: test_expect_merge_algorithm failure success
      +		test_cmp expect actual &&
      +
      +		grep region_enter.*collect_merge_info trace.output >collect &&
     -+		test_line_count = 4 collect
     ++		test_line_count = 4 collect &&
     ++		grep region_enter.*process_entries$ trace.output >process &&
     ++		test_line_count = 2 process
       	)
       '
       

-- 
gitgitgadget

  parent reply	other threads:[~2020-10-26 17:03 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-23 16:01 [PATCH 0/9] Support both merge backends in the testsuite, via environment variable Elijah Newren via GitGitGadget
2020-10-23 16:01 ` [PATCH 1/9] t/: new helper for tests that pass with ort but fail with recursive Elijah Newren via GitGitGadget
2020-10-23 16:48   ` Junio C Hamano
2020-10-23 17:25     ` Elijah Newren
2020-10-23 18:27       ` Elijah Newren
2020-10-24 10:49   ` Đoàn Trần Công Danh
2020-10-24 16:53     ` Elijah Newren
2020-10-25 13:49       ` Đoàn Trần Công Danh
2020-10-26 14:56         ` Elijah Newren
2020-10-26 17:43           ` Junio C Hamano
2020-10-23 16:01 ` [PATCH 2/9] merge tests: expect improved directory/file conflict handling in ort Elijah Newren via GitGitGadget
2020-10-23 17:40   ` Elijah Newren
2020-10-23 16:01 ` [PATCH 3/9] t6416: correct expectation for rename/rename(1to2) + directory/file Elijah Newren via GitGitGadget
2020-10-23 16:01 ` [PATCH 4/9] t6404, t6423: expect improved rename/delete handling in ort backend Elijah Newren via GitGitGadget
2020-10-23 16:01 ` [PATCH 5/9] t6423: expect improved conflict markers labels in the " Elijah Newren via GitGitGadget
2020-10-23 16:01 ` [PATCH 6/9] merge tests: expect slight differences in output for recursive vs. ort Elijah Newren via GitGitGadget
2020-10-24 16:06   ` Elijah Newren
2020-10-23 16:01 ` [PATCH 7/9] t6423, t6436: note improved ort handling with dirty files Elijah Newren via GitGitGadget
2020-10-23 16:01 ` [PATCH 8/9] t6423: note improved ort handling with untracked files Elijah Newren via GitGitGadget
2020-10-23 16:01 ` [PATCH 9/9] t6423: add more details about direct resolution of directories Elijah Newren via GitGitGadget
2020-10-23 20:12   ` Elijah Newren
2020-10-26 17:01 ` Elijah Newren via GitGitGadget [this message]
2020-10-26 17:01   ` [PATCH v2 1/9] t/: new helper for tests that pass with ort but fail with recursive Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 2/9] merge tests: expect improved directory/file conflict handling in ort Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 3/9] t6416: correct expectation for rename/rename(1to2) + directory/file Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 4/9] t6404, t6423: expect improved rename/delete handling in ort backend Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 5/9] t6423: expect improved conflict markers labels in the " Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 6/9] merge tests: expect slight differences in output for recursive vs. ort Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 7/9] t6423, t6436: note improved ort handling with dirty files Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 8/9] t6423: note improved ort handling with untracked files Elijah Newren via GitGitGadget
2020-10-26 17:01   ` [PATCH v2 9/9] t6423: add more details about direct resolution of directories Elijah Newren via GitGitGadget

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pull.769.v2.git.1603731704.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=congdanhqx@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=newren@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.