Remove the assert in CommitData.parse() function
[stgit] / t / t2600-squash.sh
... / ...
CommitLineData
1#!/bin/sh
2
3test_description='Run "stg squash"'
4
5. ./test-lib.sh
6
7test_expect_success 'Initialize StGit stack' '
8 stg init &&
9 for i in 0 1 2 3; do
10 stg new p$i -m "foo $i" &&
11 echo "foo $i" >> foo.txt &&
12 stg add foo.txt &&
13 stg refresh
14 done
15'
16
17test_expect_success 'Squash some patches' '
18 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3" ] &&
19 [ "$(echo $(stg series --unapplied --noprefix))" = "" ] &&
20 stg squash --name=q0 --message="wee woo" p1 p2 &&
21 [ "$(echo $(stg series --applied --noprefix))" = "p0 q0 p3" ] &&
22 [ "$(echo $(stg series --unapplied --noprefix))" = "" ]
23'
24
25test_expect_success 'Squash at stack top' '
26 stg squash --name=q1 --message="wee woo wham" q0 p3 &&
27 [ "$(echo $(stg series --applied --noprefix))" = "p0 q1" ] &&
28 [ "$(echo $(stg series --unapplied --noprefix))" = "" ]
29'
30
31cat > editor <<EOF
32#!/bin/sh
33echo "Editor was invoked" | tee editor-invoked
34EOF
35chmod a+x editor
36test_expect_success 'Squash with top != head' '
37 echo blahonga >> foo.txt &&
38 git commit -a -m "a new commit" &&
39 EDITOR=./editor command_error stg squash --name=r0 p0 q1 &&
40 test "$(echo $(stg series))" = "+ p0 > q1" &&
41 test ! -e editor-invoked
42'
43
44test_done