Test patch order, not just number of patches
authorKarl Hasselström <kha@treskal.com>
Sun, 13 May 2007 18:27:25 +0000 (20:27 +0200)
committerCatalin Marinas <catalin.marinas@gmail.com>
Mon, 14 May 2007 21:42:47 +0000 (22:42 +0100)
In addition to testing the number of applied patches, also test their
order. And test the order of unapplied patches too while we're at it.

Signed-off-by: Karl Hasselström <kha@treskal.com>
t/t2000-sync.sh

index 02345bb..69ab1ac 100755 (executable)
@@ -29,7 +29,9 @@ test_expect_success \
     stg add foo3.txt &&
     stg refresh &&
     stg export &&
-    stg pop
+    stg pop &&
+    [ "$(echo $(stg applied))" = "p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p3" ]
     '
 
 test_expect_success \
@@ -38,15 +40,17 @@ test_expect_success \
     stg branch -c foo base &&
     stg new p1 -m p1 &&
     stg new p2 -m p2 &&
-    stg new p3 -m p3
-    test $(stg applied -c) -eq 3
+    stg new p3 -m p3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ]
     '
 
 test_expect_success \
     'Synchronise second patch with the master branch' \
     '
     stg sync -b master p2 &&
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat foo2.txt) = "foo2"
     '
 
@@ -54,7 +58,8 @@ test_expect_success \
     'Synchronise the first two patches with the master branch' \
     '
     stg sync -b master -a &&
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat foo1.txt) = "foo1" &&
     test $(cat foo2.txt) = "foo2"
     '
@@ -63,7 +68,8 @@ test_expect_success \
     'Synchronise all the patches with the exported series' \
     '
     stg sync -s patches-master/series -a &&
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat foo1.txt) = "foo1" &&
     test $(cat foo2.txt) = "foo2" &&
     test $(cat foo3.txt) = "foo3"
@@ -73,6 +79,8 @@ test_expect_success \
     'Modify the master patches' \
     '
     stg branch master &&
+    [ "$(echo $(stg applied))" = "p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p3" ] &&
     stg goto p1 &&
     echo bar1 >> foo1.txt &&
     stg refresh &&
@@ -83,6 +91,8 @@ test_expect_success \
     stg goto p3 &&
     echo bar3 >> foo3.txt &&
     stg refresh &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     stg export &&
     stg branch foo
     '
@@ -91,7 +101,8 @@ test_expect_success \
     'Synchronise second patch with the master branch' \
     '
     stg sync -b master p2 &&
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     test $(cat bar2.txt) = "bar2"
     '
 
@@ -104,10 +115,13 @@ test_expect_failure \
 test_expect_success \
     'Restore the stack status after the failed sync' \
     '
-    test $(stg applied -c) -eq 1 &&
+    [ "$(echo $(stg applied))" = "p1" ] &&
+    [ "$(echo $(stg unapplied))" = "p2 p3" ] &&
     stg resolved -a &&
     stg refresh &&
     stg goto p3
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ]
     '
 
 test_expect_failure \
@@ -119,9 +133,12 @@ test_expect_failure \
 test_expect_success \
     'Restore the stack status after the failed sync' \
     '
-    test $(stg applied -c) -eq 3 &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ] &&
     stg resolved -a &&
-    stg refresh
+    stg refresh &&
+    [ "$(echo $(stg applied))" = "p1 p2 p3" ] &&
+    [ "$(echo $(stg unapplied))" = "" ]
     '
 
 test_done