181 lines
2.6 KiB
Plaintext
181 lines
2.6 KiB
Plaintext
# rpmmacro.at: test rpm macros
|
|
#
|
|
AT_BANNER([RPM macros])
|
|
|
|
# ------------------------------
|
|
AT_SETUP([simple rpm --eval])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm --define "this that" --eval '%{this}'
|
|
],
|
|
[0],
|
|
[that
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([simple true conditional rpm --eval])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm --define "this that" --eval '%{?this}'
|
|
],
|
|
[0],
|
|
[that
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([simple false conditional rpm --eval])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm --define "this that" --eval '%{?that}'
|
|
],
|
|
[0],
|
|
[
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([nested macro in name])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm --define "this that" --define "that_that foo" --eval '%{expand:%{%{this}_that}}'
|
|
],
|
|
[0],
|
|
[foo
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([parametrized macro 1])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
cat << EOF > ${abs_builddir}/testing/mtest
|
|
%bar() bar
|
|
%foo()\\
|
|
%bar\\
|
|
foo 1\\
|
|
%{bar}\\
|
|
foo 2\\
|
|
%bar x\\
|
|
foo 3\\
|
|
%{bar x}\\
|
|
foo 4\\
|
|
%bar \\
|
|
foo 5
|
|
EOF
|
|
|
|
runroot rpm --eval '%{load:mtest}%{foo}'
|
|
],
|
|
[0],
|
|
[
|
|
bar
|
|
foo 1
|
|
bar
|
|
foo 2
|
|
bar
|
|
foo 3
|
|
bar
|
|
foo 4
|
|
bar
|
|
foo 5
|
|
],
|
|
[])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([uncompress macro])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--define "__gzip /my/bin/gzip" \
|
|
--eval "%{uncompress:/data/SOURCES/hello-2.0.tar.gz}"
|
|
],
|
|
[0],
|
|
[/my/bin/gzip -dc /data/SOURCES/hello-2.0.tar.gz
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([basename macro])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--eval "%{basename:/data/SOURCES/hello-2.0.tar.gz}"
|
|
],
|
|
[0],
|
|
[hello-2.0.tar.gz
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([suffix macro])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--eval "%{suffix:/data/SOURCES/hello-2.0.tar.gz}"
|
|
],
|
|
[0],
|
|
[gz
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([url2path macro])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--eval "%{url2path:http://hello.org/releases/hello-2.0.tar.gz}"
|
|
],
|
|
[0],
|
|
[/releases/hello-2.0.tar.gz
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([shell expansion])
|
|
AT_KEYWORDS([macros])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--eval "%(echo foo)"
|
|
],
|
|
[0],
|
|
[foo
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([simple lua --eval])
|
|
AT_KEYWORDS([macros lua])
|
|
AT_CHECK([
|
|
runroot rpm --eval '%{lua:print(5*5)}'
|
|
],
|
|
[0],
|
|
[25
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([lua rpm extensions])
|
|
AT_KEYWORDS([macros lua])
|
|
AT_CHECK([
|
|
runroot rpm --eval '%{lua: rpm.define("foo bar") print(rpm.expand("%{foo}"))}'
|
|
],
|
|
[0],
|
|
[bar
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([lua posix extensions])
|
|
AT_KEYWORDS([macros lua])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--eval '%{lua: posix.putenv("LUATEST=ok") print(posix.getenv("LUATEST"))}'
|
|
],
|
|
[0],
|
|
[ok
|
|
])
|
|
AT_CLEANUP
|
|
|
|
AT_SETUP([lua script exit behavior])
|
|
AT_KEYWORDS([macros lua])
|
|
AT_CHECK([
|
|
runroot rpm \
|
|
--eval '%{lua: os.exit()}))}'
|
|
],
|
|
[0],
|
|
[
|
|
],
|
|
[error: lua script failed: [[string "<lua>"]]:1: exit not permitted in this context]
|
|
)
|
|
AT_CLEANUP
|