Rearrange test-suite python helper macros a bit

- Handle double [] "escaping" at RPM_PYRUN to avoid surprises when
  its used on its own
- Spin python-wrapped AT_CHECK into a macro of its own (RPMPY_CHECK)
- What formerly was RPMPY_CHECK is now RPMPY_TEST: this represents
  one entire testcase with all its setup and cleanup, whereas
  RPMPY_CHECK (the new one) might be used several times within a
  single test
This commit is contained in:
Panu Matilainen 2011-06-09 13:19:14 +03:00
parent 211bc3d356
commit 9ba42047d8
3 changed files with 14 additions and 8 deletions

View File

@ -8,7 +8,7 @@ m4_define([RPMDB_CLEAR],[[
rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/* rm -rf "${abs_builddir}"/testing`rpm --eval '%_dbpath'`/*
]]) ]])
m4_define([RPMPY_RUN],[ m4_define([RPMPY_RUN],[[
cat << EOF > test.py cat << EOF > test.py
import rpm, sys import rpm, sys
dbpath=rpm.expandMacro('%_dbpath') dbpath=rpm.expandMacro('%_dbpath')
@ -18,12 +18,18 @@ def myprint(msg = ''):
$1 $1
EOF EOF
python test.py python test.py
]) ]])
m4_define([RPMPY_CHECK],[ m4_define([RPMPY_CHECK],[
AT_CHECK([RPMPY_RUN([$1])], [], [$2], [$3])
])
m4_define([RPMPY_TEST],[
AT_SETUP([$1]) AT_SETUP([$1])
AT_KEYWORDS([python]) AT_KEYWORDS([python])
AT_CHECK([RPMPY_RUN([[$2]])], [], [$3], [$4]) RPMDB_CLEAR
RPMDB_INIT
RPMPY_CHECK([$2], [$3], [$4])
AT_CLEANUP AT_CLEANUP
]) ])

View File

@ -1,7 +1,7 @@
AT_BANNER([RPM dependency matching]) AT_BANNER([RPM dependency matching])
RPMPY_CHECK([provide - require pairs],[ RPMPY_TEST([provide - require pairs],[
# ((provides), (requires), match) expected values # ((provides), (requires), match) expected values
tests = [ tests = [
# Different names never match # Different names never match

View File

@ -3,13 +3,13 @@
AT_BANNER([Python bindings]) AT_BANNER([Python bindings])
RPMPY_CHECK([module import],[ RPMPY_TEST([module import],[
myprint(rpm.__version__) myprint(rpm.__version__)
], ],
[AT_PACKAGE_VERSION] [AT_PACKAGE_VERSION]
) )
RPMPY_CHECK([basic header manipulation],[ RPMPY_TEST([basic header manipulation],[
h = rpm.hdr() h = rpm.hdr()
h['name'] = 'testpkg' h['name'] = 'testpkg'
h['version'] = '1.0' h['version'] = '1.0'
@ -24,7 +24,7 @@ myprint(h['nevra'])
testpkg-1.0-1.noarch] testpkg-1.0-1.noarch]
) )
RPMPY_CHECK([reading a package file],[ RPMPY_TEST([reading a package file],[
ts = rpm.ts() ts = rpm.ts()
h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-1.0-1.ppc64.rpm') h = ts.hdrFromFdno('${RPMDATA}/RPMS/hello-1.0-1.ppc64.rpm')
myprint(h['arch']) myprint(h['arch'])
@ -32,7 +32,7 @@ myprint(h['arch'])
[ppc64] [ppc64]
) )
RPMPY_CHECK([add package to transaction],[ RPMPY_TEST([add package to transaction],[
ts = rpm.ts() ts = rpm.ts()
ts.addInstall('${RPMDATA}/RPMS/foo-1.0-1.noarch.rpm', 'u') ts.addInstall('${RPMDATA}/RPMS/foo-1.0-1.noarch.rpm', 'u')
for e in ts: for e in ts: