msm: consistency for equally ranked keys
[platform/upstream/rpm.git] / tests / rpmconfig3.at
1 #    rpmconfig2.at: rpm config symlink behavior tests
2
3 AT_BANNER([RPM config filetype changes])
4
5 # non-modified config changes to non-config and back, no backups
6 AT_SETUP([upgrade config to/from non-config])
7 AT_KEYWORDS([install])
8 AT_CHECK([
9 RPMDB_CLEAR
10 RPMDB_INIT
11 cf="${RPMTEST}"/etc/my.conf
12 rm -rf "${cf}" "${cf}".rpm*
13 rm -rf "${TOPDIR}"
14
15 runroot rpmbuild --quiet -bb \
16         --define "ver 1.0" \
17         --define "filetype file" \
18         --define "filedata foo" \
19           /data/SPECS/configtest.spec
20
21 runroot rpmbuild --quiet -bb \
22         --define "ver 2.0" \
23         --define "filetype file" \
24         --define "filedata bar" \
25         --define "noconfig 1" \
26           /data/SPECS/configtest.spec
27
28 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
29 cat "${cf}"
30 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
31 cat "${cf}"
32 runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
33 cat "${cf}"
34 ],
35 [0],
36 [foo
37 bar
38 foo
39 ],
40 [])
41 AT_CLEANUP
42
43 # modified config changes to non-config and back, back up on first upgrade
44 AT_SETUP([upgrade modified config to/from non-config 1])
45 AT_KEYWORDS([install])
46 AT_CHECK([
47 RPMDB_CLEAR
48 RPMDB_INIT
49 cf="${RPMTEST}"/etc/my.conf
50 rm -rf "${cf}" "${cf}".rpm*
51 rm -rf "${TOPDIR}"
52
53 runroot rpmbuild --quiet -bb \
54         --define "ver 1.0" \
55         --define "filetype file" \
56         --define "filedata foo" \
57           /data/SPECS/configtest.spec
58
59 runroot rpmbuild --quiet -bb \
60         --define "ver 2.0" \
61         --define "filetype file" \
62         --define "filedata bar" \
63         --define "noconfig 1" \
64           /data/SPECS/configtest.spec
65
66 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
67 cat "${cf}"
68 echo "otherstuff" > "${cf}"
69 cat "${cf}"
70 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
71 cat "${cf}"
72 cat "${cf}.rpmsave"
73 runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
74 cat "${cf}"
75 ],
76 [0],
77 [foo
78 otherstuff
79 bar
80 otherstuff
81 foo
82 ],
83 [warning: /etc/my.conf saved as /etc/my.conf.rpmsave]
84 )
85 AT_CLEANUP
86
87 # modified config changes to identical non-config and back, no backups
88 AT_SETUP([upgrade modified config to/from non-config 2])
89 AT_KEYWORDS([install])
90 AT_CHECK([
91 RPMDB_CLEAR
92 RPMDB_INIT
93 cf="${RPMTEST}"/etc/my.conf
94 rm -rf "${cf}" "${cf}".rpm*
95 rm -rf "${TOPDIR}"
96
97 runroot rpmbuild --quiet -bb \
98         --define "ver 1.0" \
99         --define "filetype file" \
100         --define "filedata foo" \
101           /data/SPECS/configtest.spec
102
103 runroot rpmbuild --quiet -bb \
104         --define "ver 2.0" \
105         --define "filetype file" \
106         --define "filedata bar" \
107         --define "noconfig 1" \
108           /data/SPECS/configtest.spec
109
110 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
111 cat "${cf}"
112 echo "bar" > "${cf}"
113 cat "${cf}"
114 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
115 cat "${cf}"
116 runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
117 cat "${cf}"
118 ],
119 [0],
120 [foo
121 bar
122 bar
123 foo
124 ],
125 [])
126 AT_CLEANUP
127
128 # non-modified config file changes to config symlink and back, no backups
129 AT_SETUP([upgrade config to/from config link])
130 AT_KEYWORDS([install])
131 AT_CHECK([
132 RPMDB_CLEAR
133 RPMDB_INIT
134 cf="${RPMTEST}"/etc/my.conf
135 rm -rf "${cf}" "${cf}".rpm*
136 rm -rf "${TOPDIR}"
137
138 runroot rpmbuild --quiet -bb \
139         --define "ver 1.0" \
140         --define "filetype file" \
141         --define "filedata foo" \
142           /data/SPECS/configtest.spec
143
144 runroot rpmbuild --quiet -bb \
145         --define "ver 2.0" \
146         --define "filetype link" \
147         --define "filedata bar" \
148           /data/SPECS/configtest.spec
149
150 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
151 cat "${cf}"
152 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
153 readlink "${cf}"
154 runroot rpm -U --oldpackage "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
155 cat "${cf}"
156 ],
157 [0],
158 [foo
159 bar
160 foo
161 ],
162 [])
163 AT_CLEANUP
164
165 # Modified config changes to config symlink
166 AT_SETUP([upgrade modified config to config link])
167 AT_KEYWORDS([install])
168 AT_CHECK([
169 RPMDB_CLEAR
170 RPMDB_INIT
171 cf="${RPMTEST}"/etc/my.conf
172 rm -rf "${cf}" "${cf}".rpm*
173 rm -rf "${TOPDIR}"
174
175 runroot rpmbuild --quiet -bb \
176         --define "ver 1.0" \
177         --define "filetype file" \
178         --define "filedata foo" \
179           /data/SPECS/configtest.spec
180
181 runroot rpmbuild --quiet -bb \
182         --define "ver 2.0" \
183         --define "filetype link" \
184         --define "filedata bar" \
185           /data/SPECS/configtest.spec
186
187 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
188 cat "${cf}"
189 echo "otherstuff" > "${cf}"
190 cat "${cf}"
191 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
192 readlink "${cf}"
193 cat "${cf}.rpmsave"
194 ],
195 [0],
196 [foo
197 otherstuff
198 bar
199 otherstuff
200 ],
201 [warning: /etc/my.conf saved as /etc/my.conf.rpmsave]
202 )
203 AT_CLEANUP
204
205 # Modified config link changes to config file
206 AT_SETUP([upgrade modified config link to config])
207 AT_KEYWORDS([install])
208 AT_CHECK([
209 RPMDB_CLEAR
210 RPMDB_INIT
211 cf="${RPMTEST}"/etc/my.conf
212 rm -rf "${cf}" "${cf}".rpm*
213 rm -rf "${TOPDIR}"
214
215 runroot rpmbuild --quiet -bb \
216         --define "ver 1.0" \
217         --define "filetype link" \
218         --define "filedata foo" \
219           /data/SPECS/configtest.spec
220
221 runroot rpmbuild --quiet -bb \
222         --define "ver 2.0" \
223         --define "filetype file" \
224         --define "filedata bar" \
225           /data/SPECS/configtest.spec
226
227 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
228 readlink "${cf}"
229 ln -sf "otherstuff" "${cf}"
230 readlink "${cf}"
231 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
232 cat "${cf}"
233 readlink "${cf}.rpmsave"
234 ],
235 [0],
236 [foo
237 otherstuff
238 bar
239 otherstuff
240 ],
241 [warning: /etc/my.conf saved as /etc/my.conf.rpmsave]
242 )
243 AT_CLEANUP
244
245 # Non-modified config file changes to directory.
246 AT_SETUP([upgrade config to directory])
247 AT_KEYWORDS([install])
248 AT_CHECK([
249 RPMDB_CLEAR
250 RPMDB_INIT
251 cf="${RPMTEST}"/etc/my.conf
252 rm -rf "${cf}" "${cf}".rpm*
253 rm -rf "${TOPDIR}"
254
255 runroot rpmbuild --quiet -bb \
256         --define "ver 1.0" \
257         --define "filetype file" \
258         --define "filedata foo" \
259           /data/SPECS/configtest.spec
260
261 runroot rpmbuild --quiet -bb \
262         --define "ver 2.0" \
263         --define "filetype dir" \
264           /data/SPECS/configtest.spec
265
266 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
267 cat "${cf}"
268 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
269 test -d "${cf}"
270 ],
271 [0],
272 [foo
273 ],
274 [])
275 AT_CLEANUP
276
277 # Modified config changes to directory
278 AT_SETUP([upgrade modified config to directory])
279 AT_KEYWORDS([install])
280 AT_CHECK([
281 RPMDB_CLEAR
282 RPMDB_INIT
283 cf="${RPMTEST}"/etc/my.conf
284 rm -rf "${cf}" "${cf}".rpm*
285 rm -rf "${TOPDIR}"
286
287 runroot rpmbuild --quiet -bb \
288         --define "ver 1.0" \
289         --define "filetype file" \
290         --define "filedata foo" \
291           /data/SPECS/configtest.spec
292
293 runroot rpmbuild --quiet -bb \
294         --define "ver 2.0" \
295         --define "filetype dir" \
296           /data/SPECS/configtest.spec
297
298 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-1.0-1.noarch.rpm
299 cat "${cf}"
300 echo "otherstuff" > "${cf}"
301 cat "${cf}"
302 runroot rpm -U "${TOPDIR}"/RPMS/noarch/configtest-2.0-1.noarch.rpm
303 test -d "${cf}"
304 cat "${cf}.rpmsave"
305 ],
306 [0],
307 [foo
308 otherstuff
309 otherstuff
310 ],
311 [warning: /etc/my.conf saved as /etc/my.conf.rpmsave]
312 )
313 AT_CLEANUP