Size: a a a

2021 September 29

Б

Боброний in PiterPy Meetup
Не, не подходит — нужно чтобы была ещё до того как запустятся какие-то хуки, а эта выставляется только когда дело доходит до исполнения тестов
источник

Б

Боброний in PiterPy Meetup
Но спасибо, посмотрел в доке https://docs.pytest.org/en/latest/reference/reference.html#environment-variables, кажется такой вообще нет
источник

⚓️Damir in PiterPy Meetup
тут предлагают еще посмотреть в sys.modules или в sys.argv
https://stackoverflow.com/questions/25188119/test-if-code-is-executed-from-within-a-py-test-session
источник

Б

Боброний in PiterPy Meetup
Уже думал об этом, но это слишком грязно
источник

Б

Боброний in PiterPy Meetup
Ток разве что в sys.argv смотреть
источник

⚓️Damir in PiterPy Meetup
😅звучит соответствующе для:
>там на каких-то ранних хуках плагин дергает код приложения, ещё до того как conftest.py вообще прочитан
источник

Б

Боброний in PiterPy Meetup
Если какой-нибудь плохой код заимпортит pytest в сорцах — всё сразу же поломается, если мы будем чекать sys.modules
источник

Б

Боброний in PiterPy Meetup
Текущая кодобаза — куча говна и палок)
источник

Б

Боброний in PiterPy Meetup
Фиксить всё правильно слишком долго, а фикс хочется сейчас. Вот и хакаю
источник

Б

Боброний in PiterPy Meetup
sys.argv ожидаемо тоже отпадает
источник

PU

Petr Ushakov in PiterPy Meetup
Я пытался когда-то вызывать некую логику до исполнения conftest.py с помощью плагинов. Вот есть пример использования в pytest-django:
https://pytest-django.readthedocs.io/en/latest/configuring_django.html?highlight=hookimpl#changing-your-app-before-django-gets-set-up
Но в итоге, не помню, почему, но сделал так, как выше писали - проверкой, что 'pytest' в sys.modules и надеждой, что никто в коде не импортирует pytest.
источник

⚓️Damir in PiterPy Meetup
просто недостаточно развесистый regex)
источник

Б

Боброний in PiterPy Meetup
Достаточно развесистый regex может давать false-positive
источник

Б

Боброний in PiterPy Meetup
будет*
источник

Б

Боброний in PiterPy Meetup
Ха-ха! Как раз для для pytest-django и делаю. Ненавижу джанго стек.
источник

Б

Боброний in PiterPy Meetup
В итоге пришел вот к такому безобразию в settings_test.py. __init__.py у приложения конечно будет вызван до этого, но там к счастью, ничего такого нет
источник

Б

Боброний in PiterPy Meetup
И в app.settings вот такое
источник
2021 September 30

VB

Vasilii Bliznetcov in PiterPy Meetup
всем привет.
кто-нибудь знает как для poetry принудительно запретить поиск либы в глобально pypi если она не была найдена в локальном?
для pip'a довольно "просто".
делаем 2 requrements файла:
1. с зависимостями из глобального pypi
2. с
--index-url https://repo.yourcompany.ru/pypi


откуда будут качаться либы только из локального репозиторяия компании, если какая-то либа там не будет найдена, то pip упадет с ошибкой, а не будет пытаться ее искать в глобальном pypi.
с poetry так не получается, прописываю в качестве доп. репозитория - репу компании, но если там либа не найдена, то poetry начинает искать в глобальном.
Для чего этого нужно?
Есть уязвимость:
https://www.opennet.ru/opennews/art.shtml?num=54566
источник

DB

Dima Boger in PiterPy Meetup
>но если там либа не найдена, то poetry начинает искать в глобальном.

А что значит "не найдена"? Найдена версия больше? В названии опечатка?
источник

VB

Vasilii Bliznetcov in PiterPy Meetup
не совсем понял вопроса.
как работает poetry? Если он не находит либу в подключеном репозитории, то пытается искать ее в глобальном pypi.
источник