Thread (1 message) 1 message, 1 author, 2021-02-25

Re: [PATCH v3 12/35] userdiff tests: change setup loop to individual test setup

From: Junio C Hamano <hidden>
Date: 2021-02-25 19:08:39

Johannes Sixt [off-list ref] writes:
Am 25.02.21 um 03:52 schrieb Junio C Hamano:
quoted
Ævar Arnfjörð Bjarmason  [off-list ref] writes:
quoted
+# check each individual file
+for i in $(git -C t4018 ls-files)
+do
+	test_expect_success "setup hunk header: $i" "
+		grep -v '^t4018' \"t4018/$i\" >\"t4018/$i.content\" &&
+		sed -n -e 's/^t4018 header: //p' <\"t4018/$i\" >\"t4018/$i.header\" &&
+		cp \"t4018/$i.content\" \"$i\" &&
 
 		# add test file to the index
-		git add "$i" &&
+		git add \"$i\" &&
 		# place modified file in the worktree
-		sed -e "s/ChangeMe/IWasChanged/" <"t4018/$i.content" >"$i" || return 1
-	done
-'
+		sed -e 's/ChangeMe/IWasChanged/' <\"t4018/$i.content\" >\"$i\"
+	"
Please use '' around the second argument (i.e. test body) of the
test_expect_success, and use "" inside it.  "$i" that is used in the
loop is visible perfectly fine inside the test body when it is
eval'ed, and we won't have to count ugly backslashes that way.
If we do that, then we better be sure that the implementation of
test_expect_success does not clobber $i. Looks like we are OK at this time.
That's a good point.  Often we use more specific variable name than
$i to take advantage of the 'eval'-ed nature of the test body, and
it may probably be wise to do so here, too.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help