1 # rpmmacro.at: test rpm macros
3 AT_BANNER([RPM macros])
5 # ------------------------------
6 AT_SETUP([simple rpm --eval])
9 runroot rpm --define "this that" --eval '%{this}'
16 AT_SETUP([simple true conditional rpm --eval])
19 runroot rpm --define "this that" --eval '%{?this}'
26 AT_SETUP([simple false conditional rpm --eval])
29 runroot rpm --define "this that" --eval '%{?that}'
36 AT_SETUP([uncompress macro])
40 --define "__gzip /my/bin/gzip" \
41 --eval "%{uncompress:/data/SOURCES/hello-2.0.tar.gz}"
44 [/my/bin/gzip -dc /data/SOURCES/hello-2.0.tar.gz
48 AT_SETUP([basename macro])
52 --eval "%{basename:/data/SOURCES/hello-2.0.tar.gz}"
59 AT_SETUP([suffix macro])
63 --eval "%{suffix:/data/SOURCES/hello-2.0.tar.gz}"
70 AT_SETUP([url2path macro])
74 --eval "%{url2path:http://hello.org/releases/hello-2.0.tar.gz}"
77 [/releases/hello-2.0.tar.gz
81 AT_SETUP([shell expansion])
92 AT_SETUP([simple lua --eval])
93 AT_KEYWORDS([macros lua])
95 runroot rpm --eval '%{lua:print(5*5)}'
102 AT_SETUP([lua rpm extensions])
103 AT_KEYWORDS([macros lua])
105 runroot rpm --eval '%{lua: rpm.define("foo bar") print(rpm.expand("%{foo}"))}'
112 AT_SETUP([lua posix extensions])
113 AT_KEYWORDS([macros lua])
116 --eval '%{lua: posix.putenv("LUATEST=ok") print(posix.getenv("LUATEST"))}'
123 AT_SETUP([lua script exit behavior])
124 AT_KEYWORDS([macros lua])
127 --eval '%{lua: os.exit()}))}'
132 [error: lua script failed: [[string "<lua>"]]:1: exit not permitted in this context]