Commit Diff


commit - 715dc77e943615d42425212556295bc0dbd35a6e
commit + fccbfb985ce3435c23c5507d74f2d952e3176f82
blob - 5b84e2ef622fe9e1ae03dd86b0e269bce2218fb3
blob + a8d8fbf800294c759793e7717882f7e8bab9f0dd
--- regress/cmdline/Makefile
+++ regress/cmdline/Makefile
@@ -1,5 +1,5 @@
 REGRESS_TARGETS=checkout update status log add rm diff blame branch commit \
-	revert cherrypick backout rebase import histedit
+	revert cherrypick backout rebase import histedit stage
 NOOBJ=Yes
 
 checkout:
@@ -50,4 +50,7 @@ import:
 histedit:
 	./histedit.sh
 
+stage:
+	./stage.sh
+
 .include <bsd.regress.mk>
blob - /dev/null
blob + 382ddd39fe2226a6fb139ae0ca401c60d3d8c8d4 (mode 755)
--- /dev/null
+++ regress/cmdline/stage.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+. ./common.sh
+
+function test_stage_basic {
+	local testroot=`test_init stage_basic`
+
+	got checkout $testroot/repo $testroot/wt > /dev/null
+	ret="$?"
+	if [ "$ret" != "0" ]; then
+		test_done "$testroot" "$ret"
+		return 1
+	fi
+
+	echo "modified file" > $testroot/wt/alpha
+	(cd $testroot/wt && got rm beta > /dev/null)
+	echo "new file" > $testroot/wt/foo
+	(cd $testroot/wt && got add foo > /dev/null)
+
+	echo 'M  alpha' > $testroot/stdout.expected
+	echo 'D  beta' >> $testroot/stdout.expected
+	echo 'A  foo' >> $testroot/stdout.expected
+	(cd $testroot/wt && got stage alpha beta foo > $testroot/stdout)
+
+	cmp -s $testroot/stdout.expected $testroot/stdout
+	ret="$?"
+	if [ "$ret" != "0" ]; then
+		diff -u $testroot/stdout.expected $testroot/stdout
+	fi
+	test_done "$testroot" "$ret"
+}
+
+run_test test_stage_basic