/
githubmirror
/
rpm
Обзор
Документация
Войти
/
githubmirror
/
rpm
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/local.at
104 строки
2 KB
Karolina Surma
Run Python tests with ASAN
27 июн 2025, 14:13
27 июн 2025, 14:13
47cc6cf
Код
Авторство
О чём код?
AT_TESTED([rpm rpmbuild rpmquery]) m4_define([RPMTEST_SETUP],[ AT_SETUP($1) ]) m4_define([RPMTEST_SETUP_RW],[ RPMTEST_SETUP($1) RPMTEST_SNAPSHOT_MOUNT ]) m4_define([RPMTEST_SNAPSHOT_MOUNT],[[ export RPMTEST="${PWD}/tree" export HOME="${RPMTEST}/root" [ -d "$RPMTEST" ] || snapshot mount "${PWD}" ]]) m4_define([RPMTEST_SNAPSHOT_UMOUNT],[[ # Make sure we unmount RPMTEST even if it was mounted (and thus the variable # exported) in an RPMTEST_CHECK subshell, by setting RPMTEST explicitly here. export RPMTEST="${PWD}/tree" if [ -d "$RPMTEST" ]; then snapshot umount fi ]]) m4_define([RPMDB_RESET],[ rm -rf "${RPMTEST}"`rpm --eval '%_dbpath'` runroot rpm --initdb ]) m4_define([RPMKEYRING_RESET],[ rm -rf "${RPMTEST}"`rpm --eval '%_keyringpath'` ]) m4_define([RPMPY_RUN],[[ cat << EOF > test.py # coding=utf-8 import rpm, sys, os dbpath=rpm.expandMacro('%_dbpath') rpm.addMacro('_dbpath', '${RPMTEST}%s' % dbpath) rpm.addMacro('_db_backend', os.getenv('DBFORMAT')) ts = rpm.ts() ts.setFlags(rpm.RPMTRANS_FLAG_NOPLUGINS) $1 EOF LD_PRELOAD=${ASANLIB} ${PYTHON} test.py ]]) m4_define([RPMTEST_SKIP_IF],[ AT_CHECK([ if $1; then RPMTEST_SNAPSHOT_UMOUNT # autotest's documented "skip this" code exit 77 fi ]) ]) m4_define([RPMTEST_CHECK],[ setup_env AT_CHECK($@) ]) m4_define([RPMTEST_CHECK_UNQUOTED],[ setup_env AT_CHECK_UNQUOTED($@) ]) m4_define([RPMTEST_CLEANUP],[ RPMTEST_SNAPSHOT_UMOUNT AT_CLEANUP ]) m4_define([RPMTEST_CHECK_PINNED],[ RPMTEST_CHECK_UNQUOTED( [source /pinned/$1.sh], [0], [$(cat /pinned/$1.txt) ]) ]) m4_define([RPMPY_CHECK],[ AT_SKIP_IF([$PYTHON_DISABLED]) RPMTEST_CHECK([RPMPY_RUN([$1])], [], [$2], [$3]) ]) m4_define([RPMPY_TEST],[ RPMTEST_SETUP([$1]) AT_KEYWORDS([python]) setup_env RPMPY_CHECK([$2], [$3], [$4]) RPMTEST_CLEANUP ]) m4_define([RPMTEST_USER],[ [[ $# != 0 ]] && export RPMUSER=$1 useradd -m -R $RPMTEST $RPMUSER ]) # Enable colored test output if available m4_ifdef([AT_COLOR_TESTS], [AT_COLOR_TESTS]) AT_INIT