"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Mark Jamsek <mark@jamsek.com>
Subject:
update backout/cherrypick regress to cover worktree UUID
To:
Game of Trees <gameoftrees@openbsd.org>
Date:
Wed, 1 Feb 2023 01:31:07 +1100

Download raw body.

Thread
As per the recent change to display work tree UUIDs when invoked from
the repo and the related discussion with stsp on irc, the below diff
updates cy/bo regress to account for work tree UUID output.

-----------------------------------------------
commit 22161eb1725f8bf9ad44e52a959dac46727312c7 (main)
from: Mark Jamsek <mark@jamsek.dev>
date: Tue Jan 31 14:24:51 2023 UTC
 
 update backout/cherrypick regress for worktree UUID output
 
 M  regress/cmdline/backout.sh     |  35+  12-
 M  regress/cmdline/cherrypick.sh  |  35+  12-

2 files changed, 70 insertions(+), 24 deletions(-)

diff 3f064a827faa7f9245a6f3c0d1ea74b2d216cf87 22161eb1725f8bf9ad44e52a959dac46727312c7
commit - 3f064a827faa7f9245a6f3c0d1ea74b2d216cf87
commit + 22161eb1725f8bf9ad44e52a959dac46727312c7
blob - 1a217d6ed3b9754e118aea878d1450e35c34790d
blob + 88a6dc75585a2d1b900d0d9d747bfb9a2540b8cb
--- regress/cmdline/backout.sh
+++ regress/cmdline/backout.sh
@@ -285,9 +285,9 @@ test_backout_logmsg_ref() {
 	local short_id=$(printf '%.7s' $branch_rev)
 	local ymd2=`date -u -r $commit_time2 +"%F"`
 	local short_id2="newbranch"
-	local sorted=$(printf "$branch_rev\n$branch_rev2" | sort)
+	local wt_sorted=$(printf "$branch_rev\n$branch_rev2" | sort)
 
-	for r in $sorted; do
+	for r in $wt_sorted; do
 		echo $sep >> $testroot/stdout.expected
 		if [ $r == $branch_rev ]; then
 			echo "backout $r" >> $testroot/stdout.expected
@@ -394,10 +394,10 @@ test_backout_logmsg_ref() {
 	local b2_changeset2=" M  epsilon/new2"
 	date=`date -u -r $b2_commit_time +"%a %b %e %X %Y UTC"`
 	date2=`date -u -r $b2_commit_time2 +"%a %b %e %X %Y UTC"`
-	sorted=$(printf "$branch2_rev\n$branch2_rev2" | sort)
+	local wt2_sorted=$(printf "$branch2_rev\n$branch2_rev2" | sort)
 
 	echo -n > $testroot/stdout.expected
-	for r in $sorted; do
+	for r in $wt2_sorted; do
 		echo $sep >> $testroot/stdout.expected
 		if [ $r == $branch2_rev ]; then
 			echo "backout $r" >> $testroot/stdout.expected
@@ -429,18 +429,41 @@ test_backout_logmsg_ref() {
 		return 1
 	fi
 
-	# ensure both wt and wt2 logmsg refs can be retrieved from the repo
-	sorted=`printf \
-	    "$branch_rev\n$branch_rev2\n$branch2_rev\n$branch2_rev2" | sort`
+	# ensure both wt and wt2 logmsg refs can be retrieved and the
+	# work tree UUID is displayed when listing refs from the repo
+	local wt_uuid=$(cat $testroot/wt/.got/uuid)
+	local wt2_uuid=$(cat $testroot/wt2/.got/uuid)
+	local wt_first=`printf "$wt_uuid\n$wt2_uuid" | sort | head -1`
 
-	echo -n > $testroot/stdout.expected
-	for r in $sorted; do
-		echo "backout $r" >> $testroot/stdout.expected
+	for r in $wt_sorted; do
+		echo -n "backout $r" >> $testroot/wt.list
+		if [ $r == $branch_rev2 ]; then
+			echo -n " (newbranch)" >> $testroot/wt.list
+		fi
+		echo >> $testroot/wt.list
+		echo "work tree: $wt_uuid" >> $testroot/wt.list
 	done
 
-	(cd $testroot/repo && got backout -l | grep ^backout | \
-	    sort | cut -f1,2 -d' ' > $testroot/stdout)
+	for r in $wt2_sorted; do
+		echo -n "backout $r" >> $testroot/wt2.list
+		if [ $r == $branch2_rev2 ]; then
+			echo -n " (newbranch2)" >> $testroot/wt2.list
+		fi
+		echo >> $testroot/wt2.list
+		echo "work tree: $wt2_uuid" >> $testroot/wt2.list
+	done
 
+	if [ $wt_uuid == $wt_first ]; then
+		mv $testroot/wt.list $testroot/stdout.expected
+		cat $testroot/wt2.list >> $testroot/stdout.expected
+	else
+		mv $testroot/wt2.list $testroot/stdout.expected
+		cat $testroot/wt.list >> $testroot/stdout.expected
+	fi
+
+	(cd $testroot/repo && got backout -l | egrep "^(backout|work)" \
+	    > $testroot/stdout)
+
 	cmp -s $testroot/stdout.expected $testroot/stdout
 	ret=$?
 	if [ $ret -ne 0 ]; then
blob - 2cc07373cc5a1d2286aa7311f48980d94a8c0180
blob + fac54ca43c8da9be765539a05b8b421d64c36807
--- regress/cmdline/cherrypick.sh
+++ regress/cmdline/cherrypick.sh
@@ -1768,9 +1768,9 @@ test_cherrypick_logmsg_ref() {
 	local short_id=$(printf '%.7s' $branch_rev)
 	local ymd2=`date -u -r $commit_time2 +"%F"`
 	local short_id2="newbranch"
-	local sorted=$(printf "$branch_rev\n$branch_rev2" | sort)
+	local wt_sorted=$(printf "$branch_rev\n$branch_rev2" | sort)
 
-	for r in $sorted; do
+	for r in $wt_sorted; do
 		echo $sep >> $testroot/stdout.expected
 		if [ $r == $branch_rev ]; then
 			echo "cherrypick $r" >> $testroot/stdout.expected
@@ -1877,10 +1877,10 @@ test_cherrypick_logmsg_ref() {
 	local b2_changeset2=" M  epsilon/new2"
 	date=`date -u -r $b2_commit_time +"%a %b %e %X %Y UTC"`
 	date2=`date -u -r $b2_commit_time2 +"%a %b %e %X %Y UTC"`
-	sorted=$(printf "$branch2_rev\n$branch2_rev2" | sort)
+	local wt2_sorted=$(printf "$branch2_rev\n$branch2_rev2" | sort)
 
 	echo -n > $testroot/stdout.expected
-	for r in $sorted; do
+	for r in $wt2_sorted; do
 		echo $sep >> $testroot/stdout.expected
 		if [ $r == $branch2_rev ]; then
 			echo "cherrypick $r" >> $testroot/stdout.expected
@@ -1912,18 +1912,41 @@ test_cherrypick_logmsg_ref() {
 		return 1
 	fi
 
-	# ensure both wt and wt2 logmsg refs can be retrieved from the repo
-	sorted=`printf \
-	    "$branch_rev\n$branch_rev2\n$branch2_rev\n$branch2_rev2" | sort`
+	# ensure both wt and wt2 logmsg refs can be retrieved and the
+	# work tree UUID is displayed when listing refs from the repo
+	local wt_uuid=$(cat $testroot/wt/.got/uuid)
+	local wt2_uuid=$(cat $testroot/wt2/.got/uuid)
+	local wt_first=`printf "$wt_uuid\n$wt2_uuid" | sort | head -1`
 
-	echo -n > $testroot/stdout.expected
-	for r in $sorted; do
-		echo "cherrypick $r" >> $testroot/stdout.expected
+	for r in $wt_sorted; do
+		echo -n "cherrypick $r" >> $testroot/wt.list
+		if [ $r == $branch_rev2 ]; then
+			echo -n " (newbranch)" >> $testroot/wt.list
+		fi
+		echo >> $testroot/wt.list
+		echo "work tree: $wt_uuid" >> $testroot/wt.list
 	done
 
-	(cd $testroot/repo && got cherrypick -l | grep ^cherrypick | \
-	    sort | cut -f1,2 -d' ' > $testroot/stdout)
+	for r in $wt2_sorted; do
+		echo -n "cherrypick $r" >> $testroot/wt2.list
+		if [ $r == $branch2_rev2 ]; then
+			echo -n " (newbranch2)" >> $testroot/wt2.list
+		fi
+		echo >> $testroot/wt2.list
+		echo "work tree: $wt2_uuid" >> $testroot/wt2.list
+	done
 
+	if [ $wt_uuid == $wt_first ]; then
+		mv $testroot/wt.list $testroot/stdout.expected
+		cat $testroot/wt2.list >> $testroot/stdout.expected
+	else
+		mv $testroot/wt2.list $testroot/stdout.expected
+		cat $testroot/wt.list >> $testroot/stdout.expected
+	fi
+
+	(cd $testroot/repo && got cherrypick -l | egrep "^(cherrypick|work)" \
+	    > $testroot/stdout)
+
 	cmp -s $testroot/stdout.expected $testroot/stdout
 	ret=$?
 	if [ $ret -ne 0 ]; then

-- 
Mark Jamsek <fnc.bsdbox.org>
GPG: F2FF 13DE 6A06 C471 CA80  E6E2 2930 DC66 86EE CF68