A few more basic macro functionality tests
[platform/upstream/rpm.git] / tests / rpmmacro.at
1 #    rpmmacro.at: test rpm macros
2 #
3
4 # ------------------------------
5 AT_SETUP([simple rpm --eval])
6 AT_CHECK([
7 run rpm --define "this that" --eval '%{this}'
8 ],
9 [0],
10 [that
11 ])
12 AT_CLEANUP
13
14 AT_SETUP([simple true conditional rpm --eval])
15 AT_CHECK([
16 run rpm --define "this that" --eval '%{?this}'
17 ],
18 [0],
19 [that
20 ])
21 AT_CLEANUP
22
23 AT_SETUP([simple false conditional rpm --eval])
24 AT_CHECK([
25 run rpm --define "this that" --eval '%{?that}'
26 ],
27 [0],
28 [
29 ])
30 AT_CLEANUP
31
32 AT_SETUP([uncompress macro])
33 AT_CHECK([
34 (cd ${RPMDATA}/SOURCES/ &&
35   run rpm \
36     --define "__gzip /my/bin/gzip" \
37     --eval "%{uncompress:hello-2.0.tar.gz}"
38 )
39 ],
40 [0],
41 [/my/bin/gzip -dc hello-2.0.tar.gz
42 ])
43 AT_CLEANUP
44
45 AT_SETUP([basename macro])
46 AT_CHECK([
47 (cd ${RPMDATA}/SOURCES/ &&
48   run rpm \
49     --eval "%{basename:${RPMDATA}/SOURCES/hello-2.0.tar.gz}"
50 )
51 ],
52 [0],
53 [hello-2.0.tar.gz
54 ])
55 AT_CLEANUP
56
57 AT_SETUP([suffix macro])
58 AT_CHECK([
59 (cd ${RPMDATA}/SOURCES/ &&
60   run rpm \
61     --eval "%{suffix:${RPMDATA}/SOURCES/hello-2.0.tar.gz}"
62 )
63 ],
64 [0],
65 [gz
66 ])
67 AT_CLEANUP
68
69 AT_SETUP([url2path macro])
70 AT_CHECK([
71 (cd ${RPMDATA}/SOURCES/ &&
72   run rpm \
73     --eval "%{url2path:http://hello.org/releases/hello-2.0.tar.gz}"
74 )
75 ],
76 [0],
77 [/releases/hello-2.0.tar.gz
78 ])
79 AT_CLEANUP
80
81 AT_SETUP([shell expansion])
82 AT_CHECK([
83 (cd ${RPMDATA}/SOURCES/ &&
84   run rpm \
85     --eval "%(echo foo)"
86 )
87 ],
88 [0],
89 [foo
90 ])
91 AT_CLEANUP
92
93 AT_SETUP([simple lua --eval])
94 AT_CHECK([
95 run rpm --eval '%{lua:print(5*5)}'
96 ],
97 [0],
98 [25
99 ])
100 AT_CLEANUP