File: t3100-reset.sh

package info (click to toggle)
stgit 0.19-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,752 kB
  • sloc: python: 10,558; sh: 5,739; lisp: 2,678; makefile: 142; perl: 42
file content (160 lines) | stat: -rwxr-xr-x 3,333 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
#!/bin/sh

test_description='Simple test cases for "stg reset"'

. ./test-lib.sh

# Ignore our own output files.
cat >> .git/info/exclude <<EOF
/expected.txt
EOF

test_expect_success 'Initialize StGit stack with three patches' '
    stg init &&
    echo 000 >> a &&
    stg add a &&
    git commit -m a &&
    echo 111 >> a &&
    git commit -a -m p1 &&
    echo 222 >> a &&
    git commit -a -m p2 &&
    echo 333 >> a &&
    git commit -a -m p3 &&
    stg uncommit -n 3 &&
    stg pop
'

cat > expected.txt <<EOF
000
111
EOF
test_expect_success 'Pop one patch ...' '
    stg pop &&
    test "$(echo $(stg series --all))" = "> p1 - p2 - p3" &&
    test_cmp expected.txt a
'

cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo it' '
    stg reset master.stgit^~1 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 - p3" &&
    test_cmp expected.txt a
'

cat > expected.txt <<EOF
000
111
222
333
EOF
test_expect_success 'Push one patch ...' '
    stg push &&
    test "$(echo $(stg series --all))" = "+ p1 + p2 > p3" &&
    test_cmp expected.txt a
'

cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo it' '
    stg reset master.stgit^~1 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 - p3" &&
    test_cmp expected.txt a
'

test_expect_success 'Commit one patch ...' '
    stg commit &&
    test "$(echo $(stg series --all))" = "> p2 - p3"
'

test_expect_success '... and undo it' '
    stg reset master.stgit^~1 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 - p3"
'

test_expect_success 'Hide a patch ...' '
    stg hide p3 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 ! p3"
'

test_expect_success '... undo the hiding ...' '
    stg reset master.stgit^~1 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 - p3"
'

test_expect_success '... unhide the patch ...' '
    stg hide p3 && stg unhide p3 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 - p3"
'

test_expect_success '... and undo the unhiding' '
    stg reset master.stgit^~1 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2 ! p3" &&
    stg unhide p3
'

cat > expected.txt <<EOF
000
111
EOF
test_expect_success 'Delete two patches ...' '
    stg delete p2 p3 &&
    test "$(echo $(stg series --all))" = "> p1" &&
    test_cmp expected.txt a
'

test_expect_success '... and undo one of the deletions ...' '
    stg reset master.stgit^~1 p3 &&
    test "$(echo $(stg series --all))" = "> p1 - p3" &&
    test_cmp expected.txt a
'

test_expect_success '... then undo the first undo ...' '
    stg reset master.stgit^~1 &&
    test "$(echo $(stg series --all))" = "> p1" &&
    test_cmp expected.txt a
'

cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo the other deletion' '
    stg reset master.stgit^~3 p2 &&
    stg push p2 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2" &&
    test_cmp expected.txt a
'

cat > expected.txt <<EOF
000
111
222
ggg
EOF
test_expect_success 'Refresh a patch ...' '
    echo ggg >> a &&
    stg refresh &&
    test "$(echo $(stg series --all))" = "+ p1 > p2" &&
    test_cmp expected.txt a
'

cat > expected.txt <<EOF
000
111
222
EOF
test_expect_success '... and undo the refresh' '
    stg reset master.stgit^~2 &&
    test "$(echo $(stg series --all))" = "+ p1 > p2" &&
    test_cmp expected.txt a
'

test_done