From: "Ivan A. Melnikov" <iv@altlinux.org> To: "devel@ where you _can_ ask" <devel-newbies@lists.altlinux.org> Subject: Re: [newbies] Запуск python-module-tests и %add_findreq_skiplist tests/ Date: Mon, 23 Sep 2024 10:58:52 +0400 Message-ID: <te6a3x6aekmo7wjmbl2yfumnsgcnhkbuxamb2rtgoglu4suqng@tddbp4xavq3s> (raw) In-Reply-To: <42431727047356@mail.yandex.ru> On Mon, Sep 23, 2024 at 02:35:35AM GMT, Александр Лубягин wrote: > Скомпилировал модуль perceval. Он предназначен для fetching`а содержимого > страниц > социальных сетей/репозиториев/т.д. Мне он нужен для пакета определения > гендера (пола) damegender, прогонки его тестов по соц.сетям. > > Питоновский модуль работы с соц.сетями perceval содержит подкаталог > /usr/lib/python3/site-packages/perceval/tests/ > > Для тестирования (которое требует read-write прав на подкаталог > tests/data/) > я копирую: cp -a /usr/lib/python3/site-packages/perceval/tests/ . > Затем: > cd tests > python3 -m pytest ../tests/ > ... 999 passed, 2110 warnings in 60.54s ... > > Вроде бы всё ок, ошибок нет. Импорт модулей проходит так, как задумывал > автор, не надо делать export PYTHONPATH=$PYTHONPATH:<dir> То есть смотрите, по задумке автора, эти тесты не должны запускаться из %python3_sitelibdir или %python3_sitelibdir_noarch, они должны запусаться из текущего каталога и нужны только разработчику для разработки. Тогда зачем они в пакете? Убрать из пакета файлы, которые не нужны, и даже вредны для его работы -- это одна из обязанностей (и ответственностей) мейнтейнера. > Но для того, чтобы в зависимости не попали файлы > tests/base.py > tests/mocked_package/__init__.py и т.д. > ошибка: Неудовлетворенные зависимости: > python3(base) < 0 нужен для > python3-module-perceval-tests-1.0.6-alt1.noarch > python3(mocked_package) < 0 нужен для > python3-module-perceval-tests-1.0.6-alt1.noarch > python3(mocked_package.backend) < 0 нужен для > python3-module-perceval-tests-1.0.6-alt1.noarch > python3(mocked_package.nested_package) < 0 нужен для > python3-module-perceval-tests-1.0.6-alt1.noarch > python3(mocked_package.nested_package.nested_backend_b) < 0 нужен для > python3-module-perceval-tests-1.0.6-alt1.noarch > python3(mocked_package.nested_package.nested_backend_c) < 0 нужен для > python3-module-perceval-tests-1.0.6-alt1.noarch Опять же, такие зависимости появляются, потому что в тестах используется форма import statement, не предполагающая их использование как модуля. > я добавляю в .spec строку: > %add_findreq_skiplist %python3_sitelibdir_noarch/%pypi_name/tests/* > > Корректно ли так делать (спек с макросом %add_findreq_skiplist)? В общем случае я бы рекомендовал такие варианты, в порядке приоритета: 1. Поправить исходники, чтобы таких зависимостей не возникало. Что-то вроде замены `import foo` на `from . import foo`. 2. Точечно выкинуть ненужные зависимости при помощи %filter_from_requires В принципе, можно и так, как сделали Вы, но тогда есть шанс, что при обновлении Вы упустите что-нибудь важное. Однако в данном случае моя рекомендация однозначна: резать. Если тесты по каким-то причинам жалко, положите их в %_docdir. В виде тарбола;) В любом случае это не модули питона, так что класть из в sitelibdir не стоит. -- wbr, iv m.
parent reply other threads:[~2024-09-23 6:58 UTC|newest] Thread overview: expand[flat|nested] mbox.gz Atom feed [parent not found: <42431727047356@mail.yandex.ru>]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=te6a3x6aekmo7wjmbl2yfumnsgcnhkbuxamb2rtgoglu4suqng@tddbp4xavq3s \ --to=iv@altlinux.org \ --cc=devel-newbies@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
devel@ where you _can_ ask This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel-newbies/0 devel-newbies/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel-newbies devel-newbies/ http://lore.altlinux.org/devel-newbies \ devel-newbies@lists.altlinux.org devel-newbies@lists.altlinux.ru devel-newbies@lists.altlinux.com public-inbox-index devel-newbies Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel-newbies AGPL code for this site: git clone https://public-inbox.org/public-inbox.git