chiark / gitweb /
Added test case for stg refresh
authorDavid Kågedal <davidk@lysator.liu.se>
Wed, 21 Nov 2007 10:35:59 +0000 (11:35 +0100)
committerKarl Hasselström <kha@treskal.com>
Wed, 21 Nov 2007 22:03:06 +0000 (23:03 +0100)
Signed-off-by: David Kågedal <davidk@lysator.liu.se>
Signed-off-by: Karl Hasselström <kha@treskal.com>
t/t2700-refresh.sh [new file with mode: 0755]

diff --git a/t/t2700-refresh.sh b/t/t2700-refresh.sh
new file mode 100755 (executable)
index 0000000..2e7901c
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+test_description='Run "stg refresh"'
+
+. ./test-lib.sh
+
+test_expect_success 'Initialize StGit stack' '
+    stg init &&
+    echo expected.txt >> .git/info/exclude &&
+    echo patches.txt >> .git/info/exclude &&
+    stg new p0 -m "base" &&
+    for i in 1 2 3; do
+        echo base >> foo$i.txt &&
+        git add foo$i.txt
+    done
+    stg refresh &&
+    for i in 1 2 3; do
+        stg new p$i -m "foo $i" &&
+        echo "foo $i" >> foo$i.txt &&
+        stg refresh
+    done
+'
+
+cat > expected.txt <<EOF
+p0
+p3
+EOF
+test_expect_success 'Refresh top patch' '
+    echo bar 3 >> foo3.txt &&
+    stg refresh &&
+    stg status &&
+    test -z "$(stg status)" &&
+    stg patches foo3.txt > patches.txt &&
+    diff -u expected.txt patches.txt
+'
+
+cat > expected.txt <<EOF
+p0
+p2
+EOF
+test_expect_success 'Refresh middle patch' '
+    stg status &&
+    echo bar 2 >> foo2.txt &&
+    stg refresh -p p2 &&
+    stg status &&
+    test -z "$(stg status)" &&
+    stg patches foo2.txt > patches.txt &&
+    diff -u expected.txt patches.txt
+'
+
+cat > expected.txt <<EOF
+p0
+p1
+EOF
+test_expect_success 'Refresh bottom patch' '
+    stg status &&
+    echo bar 1 >> foo1.txt &&
+    stg refresh -p p1 &&
+    stg status &&
+    test -z "$(stg status)" &&
+    stg patches foo1.txt > patches.txt &&
+    diff -u expected.txt patches.txt
+'
+
+test_done