Небуферизованное покрытие Python - PullRequest
0 голосов
/ 02 октября 2018

Я хочу запустить приложение в производстве с включенным покрытием.Приложение всегда работает и не останавливает его выполнение.В каждый день я хочу видеть увеличение покрытия.К сожалению, файл .coverage появляется на диске только после остановки приложения.

Для имитации этого поведения у меня есть test.py

# cat test.py 
if 1==2:
    print(1)

if 2==2:
    print(2)

import time

i = 10
while i:
    print("sleep")
    time.sleep(1)
    i -= 1

print("end")

, который запускается как

python3 -u -m coverage run test.py 
2
sleep
sleep
sleep
sleep # I want to be able to see coverage in this moment
sleep
sleep
sleep
sleep
sleep
sleep
end

Только после того, как end слово напечатано, я вижу файл покрытия

ls -a
.  ..  .coverage  test.py

Как я могу принудительно очистить / отменить буфер на py.coverage?

1 Ответ

0 голосов
/ 03 октября 2018

Нет способа получить покрытие. 4.5.1 для этого.Разработка 5.0 переключила хранилище данных на SQLite, поэтому мы должны иметь возможность добавлять функцию для периодической загрузки данных покрытия в базу данных.

...