Make patch deletion test more specific
authorKarl Hasselström <kha@treskal.com>
Sun, 13 May 2007 18:27:20 +0000 (20:27 +0200)
committerCatalin Marinas <catalin.marinas@gmail.com>
Mon, 14 May 2007 21:42:18 +0000 (22:42 +0100)
Don't just test the number of applied and unapplied patches; also test
their name and order.

Signed-off-by: Karl Hasselström <kha@treskal.com>
t/t1601-delete-many.sh

index 8648ed1..8eff308 100755 (executable)
@@ -10,13 +10,13 @@ test_expect_success \
 test_expect_success \
     'Create five applied and five unapplied patches' \
     '
-    stg new foo0 -m foo0 &&
-    echo foo0 > foo.txt &&
+    stg new p0 -m p0 &&
+    echo p0 > foo.txt &&
     stg add foo.txt &&
     stg refresh &&
     for i in 1 2 3 4 5 6 7 8 9; do
-        stg new foo$i -m foo$i &&
-        echo foo$i >> foo.txt &&
+        stg new p$i -m p$i &&
+        echo p$i >> foo.txt &&
         stg refresh;
     done &&
     stg pop -n 5
@@ -25,31 +25,31 @@ test_expect_success \
 test_expect_success \
     'Delete some patches' \
     '
-    [ $(stg applied | wc -l) -eq 5 ] &&
-    [ $(stg unapplied | wc -l) -eq 5 ] &&
-    stg delete foo7 foo6 foo3 foo4 &&
-    [ $(stg applied | wc -l) -eq 3 ] &&
-    [ $(stg unapplied | wc -l) -eq 3 ]
+    [ "$(echo $(stg applied))" = "p0 p1 p2 p3 p4" ] &&
+    [ "$(echo $(stg unapplied))" = "p5 p6 p7 p8 p9" ] &&
+    stg delete p7 p6 p3 p4 &&
+    [ "$(echo $(stg applied))" = "p0 p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p5 p8 p9" ]
     '
 
 test_expect_success \
     'Delete some more patches, some of which do not exist' \
     '
-    [ $(stg applied | wc -l) -eq 3 ] &&
-    [ $(stg unapplied | wc -l) -eq 3 ] &&
-    ! stg delete foo7 foo8 foo2 foo0 &&
-    [ $(stg applied | wc -l) -eq 3 ] &&
-    [ $(stg unapplied | wc -l) -eq 3 ]
+    [ "$(echo $(stg applied))" = "p0 p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p5 p8 p9" ] &&
+    ! stg delete p7 p8 p2 p0 &&
+    [ "$(echo $(stg applied))" = "p0 p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p5 p8 p9" ]
     '
 
 test_expect_success \
     'Delete a range of patches' \
     '
-    [ $(stg applied | wc -l) -eq 3 ] &&
-    [ $(stg unapplied | wc -l) -eq 3 ] &&
-    stg delete foo1..foo8 &&
-    [ $(stg applied | wc -l) -eq 1 ] &&
-    [ $(stg unapplied | wc -l) -eq 1 ]
+    [ "$(echo $(stg applied))" = "p0 p1 p2" ] &&
+    [ "$(echo $(stg unapplied))" = "p5 p8 p9" ] &&
+    stg delete p1..p8 &&
+    [ "$(echo $(stg applied))" = "p0" ] &&
+    [ "$(echo $(stg unapplied))" = "p9" ]
     '
 
 test_done