Sanitize python object -> tag number exception handling
[platform/upstream/rpm.git] / tests / rpmmacro.at
1 #    rpmmacro.at: test rpm macros
2 #
3 AT_BANNER([RPM macros])
4
5 # ------------------------------
6 AT_SETUP([simple rpm --eval])
7 AT_KEYWORDS([macros])
8 AT_CHECK([
9 run rpm --define "this that" --eval '%{this}'
10 ],
11 [0],
12 [that
13 ])
14 AT_CLEANUP
15
16 AT_SETUP([simple true conditional rpm --eval])
17 AT_KEYWORDS([macros])
18 AT_CHECK([
19 run rpm --define "this that" --eval '%{?this}'
20 ],
21 [0],
22 [that
23 ])
24 AT_CLEANUP
25
26 AT_SETUP([simple false conditional rpm --eval])
27 AT_KEYWORDS([macros])
28 AT_CHECK([
29 run rpm --define "this that" --eval '%{?that}'
30 ],
31 [0],
32 [
33 ])
34 AT_CLEANUP
35
36 AT_SETUP([uncompress macro])
37 AT_KEYWORDS([macros])
38 AT_CHECK([
39 (cd ${RPMDATA}/SOURCES/ &&
40   run rpm \
41     --define "__gzip /my/bin/gzip" \
42     --eval "%{uncompress:hello-2.0.tar.gz}"
43 )
44 ],
45 [0],
46 [/my/bin/gzip -dc hello-2.0.tar.gz
47 ])
48 AT_CLEANUP
49
50 AT_SETUP([basename macro])
51 AT_KEYWORDS([macros])
52 AT_CHECK([
53 (cd ${RPMDATA}/SOURCES/ &&
54   run rpm \
55     --eval "%{basename:${RPMDATA}/SOURCES/hello-2.0.tar.gz}"
56 )
57 ],
58 [0],
59 [hello-2.0.tar.gz
60 ])
61 AT_CLEANUP
62
63 AT_SETUP([suffix macro])
64 AT_KEYWORDS([macros])
65 AT_CHECK([
66 (cd ${RPMDATA}/SOURCES/ &&
67   run rpm \
68     --eval "%{suffix:${RPMDATA}/SOURCES/hello-2.0.tar.gz}"
69 )
70 ],
71 [0],
72 [gz
73 ])
74 AT_CLEANUP
75
76 AT_SETUP([url2path macro])
77 AT_KEYWORDS([macros])
78 AT_CHECK([
79 (cd ${RPMDATA}/SOURCES/ &&
80   run rpm \
81     --eval "%{url2path:http://hello.org/releases/hello-2.0.tar.gz}"
82 )
83 ],
84 [0],
85 [/releases/hello-2.0.tar.gz
86 ])
87 AT_CLEANUP
88
89 AT_SETUP([shell expansion])
90 AT_KEYWORDS([macros])
91 AT_CHECK([
92 (cd ${RPMDATA}/SOURCES/ &&
93   run rpm \
94     --eval "%(echo foo)"
95 )
96 ],
97 [0],
98 [foo
99 ])
100 AT_CLEANUP
101
102 AT_SETUP([simple lua --eval])
103 AT_KEYWORDS([macros lua])
104 AT_CHECK([
105 run rpm --eval '%{lua:print(5*5)}'
106 ],
107 [0],
108 [25
109 ])
110 AT_CLEANUP
111
112 AT_SETUP([lua rpm extensions])
113 AT_KEYWORDS([macros lua])
114 AT_CHECK([
115 run rpm --eval '%{lua: rpm.define("foo bar") print(rpm.expand("%{foo}"))}'
116 ],
117 [0],
118 [bar
119 ])
120 AT_CLEANUP
121
122 AT_SETUP([lua posix extensions])
123 AT_KEYWORDS([macros lua])
124 AT_CHECK([
125 run rpm \
126   --eval '%{lua: posix.putenv("LUATEST=ok") print(posix.getenv("LUATEST"))}'
127 ],
128 [0],
129 [ok
130 ])
131 AT_CLEANUP