blob: 29d07429c49712bb20ed6d843d30e63ed3fd5604 (
plain)
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
|
module publish
import common
asset scripts:
path: ../asset/publish
test PublishFromDependency:
node n
shell on n:
mkdir workdir
cp ${scripts.path}/from_dependency.yaml workdir/minici.yaml
spawn on n as p args [ "--destination=second:second_override", "--destination=third:./third", "--destination=fourth:fourth/with_dir", "--destination=fifth:fifth/with_dir", "workdir/minici.yaml", "run", "publish" ]
expect_result from p:
of "gen" result "done"
of "publish" result "done"
local:
expect /(.*)/ from p capture done
guard (done == "run-finish")
shell on n as listing:
find . -path ./workdir/.minici -prune -o -type f -print
echo DONE
expect from listing:
/.\/workdir\/minici.yaml/
/.\/workdir\/first\/dest\/x/
/.\/workdir\/first\/dest\/dir\/y/
/.\/second_override\/dir2\/subdir\/z/
/.\/third\/dir\/y/
/.\/third\/dir2\/subdir\/z/
/.\/fourth\/with_dir\/path\/for\/artifact/
/.\/fourth\/with_dir\/dir\/for\/artifact\/x/
/.\/fifth\/with_dir\/path\/for\/artifact\/z/
/.\/fifth\/with_dir\/dir\/for\/artifact\/subdir\/z/
/.\/fifth\/with_dir\/path2\/for\/artifact\/z2/
/.\/fifth\/with_dir\/path2\/for\/artifact\/subdir\/z/
/.\/fifth\/with_dir\/dir2\/for\/artifact\/dir2\/z2/
/.\/fifth\/with_dir\/dir2\/for\/artifact\/dir2\/subdir\/z/
/(.*)/ capture done
guard (done == "DONE")
test PublishFromSelf:
node n
shell on n:
mkdir workdir
cp ${scripts.path}/from_self.yaml workdir/minici.yaml
spawn on n as p args [ "--destination=dest:destination", "workdir/minici.yaml", "run", "gen_publish" ]
expect_result from p:
of "gen_publish" result "done"
local:
expect /(.*)/ from p capture done
guard (done == "run-finish")
shell on n as listing:
find . -path ./workdir/.minici -prune -o -type f -print
echo DONE
expect from listing:
/.\/workdir\/minici.yaml/
/.\/destination\/x/
/.\/destination\/y/
/(.*)/ capture done
guard (done == "DONE")
test PushRepo:
node n
shell on n as git_init:
cp ${scripts.path}/push.yaml minici.yaml
mkdir workdir
git -C workdir -c init.defaultBranch=master init -q
git -C workdir -c user.name=test -c user.email=test commit -q --allow-empty -m 'initial commit'
git -C workdir rev-parse HEAD
git clone --bare workdir target.git
touch workdir/a
git -C workdir add a
git -C workdir -c user.name=test -c user.email=test commit -q -m a
git -C workdir rev-parse HEAD
git -C workdir rev-parse HEAD^{tree}
touch workdir/b
git -C workdir add b
git -C workdir -c user.name=test -c user.email=test commit -q -m b
git -C workdir rev-parse HEAD
git -C workdir rev-parse HEAD^{tree}
touch workdir/c
git -C workdir add c
git -C workdir -c user.name=test -c user.email=test commit -q -m c
git -C workdir rev-parse HEAD
git -C workdir rev-parse HEAD^{tree}
touch workdir/d
git -C workdir add d
git -C workdir -c user.name=test -c user.email=test commit -q -m d
git -C workdir rev-parse HEAD
git -C workdir rev-parse HEAD^{tree}
touch workdir/e
git -C workdir add e
git -C workdir -c user.name=test -c user.email=test commit -q -m e
git -C workdir rev-parse HEAD
git -C workdir rev-parse HEAD^{tree}
git -C workdir reset --hard HEAD~5
git -C workdir rev-parse HEAD
expect /([0-9a-f]+)/ from git_init capture c_init
expect /([0-9a-f]+)/ from git_init capture ca
expect /([0-9a-f]+)/ from git_init capture ta
expect /([0-9a-f]+)/ from git_init capture cb
expect /([0-9a-f]+)/ from git_init capture tb
expect /([0-9a-f]+)/ from git_init capture cc
expect /([0-9a-f]+)/ from git_init capture tc
expect /([0-9a-f]+)/ from git_init capture cd
expect /([0-9a-f]+)/ from git_init capture td
expect /([0-9a-f]+)/ from git_init capture ce
expect /([0-9a-f]+)/ from git_init capture te
expect /([0-9a-f]+)/ from git_init capture c_end
guard (c_init == c_end)
let cmd_run = [ "--repo=source_repo:workdir", "--repo=target_repo:target.git", "run" ]
local:
spawn on n as p args (cmd_run ++ [ "push_job.$cb" ]) killwith SIGINT
expect from p:
/job-enqueue push_job.$cb/
/job-start push_job.$cb/
/job-finish push_job.$cb done/
expect /(.*)/ from p capture finish
guard (finish == "run-finish")
shell on n as git_check:
git -C target.git rev-parse HEAD
expect /([0-9a-f]+)/ from git_check capture cur_target
guard (cur_target == cb)
|