Вопрос

Я пробежал постройку прошлой ночью, успешно. Я встал сегодня утром и запустил другой без изменения какой-либо конфигурации или изменение любого исходного кода. Теперь моя сборка не в состоянии с сообщением «Нет источника для кода» при запуске мой Носетесты с участием охват.

NoSource: No source for code: '/home/matthew/.hudson/jobs/myproject/workspace/tests/unit/util.py'
. . . 
No source for code: '/home/matthew/.hudson/jobs/myproject/workspace/__init__.py'

Единственная подсказка, которую у меня есть, это то, что файлы, которые он говорит, что не может найти, не там, Но они никогда не были, и они не должны быть. Например, в последнем рабочее пространство Hudson не является модулем Python, так __init__.py не будет там.

Обновлять: Я подтвердил, что это не проблема Гудзона. Когда я беги ностесты с покрытием в самом каталоге, я вижу подобные сообщения. Опять же, файлы, которые ищет охват, никогда не были там, чтобы начать, делая этот очень загадочный.

Это было полезно?

Решение

Я не уверен, что это считает, что файл существует, но вы можете сообщить Coverage.py, чтобы игнорировать эти проблемы с coverage xml -i выключатель.

Если вы хотите отслеживать ошибку, опустите мне строку (NED в NED Batchelder COM).

Другие советы

Убедитесь, что нет .pyc файл там, который могло существовать в прошлом.

Резюме: Существующие. Регистрация данных сохраняется при работе при работе nosetests --with-coverage, Сначала удалите его сначала.

Подробности: Я тоже просто столкнулся с этим через Гудзон и несетесты. Эта ошибка исходила от coverage/results.py:18 (Охват 3.3.1 - было 3 места, поднимая эту ошибку, но это был соответствующий). Он пытается открыть файл .py, соответствующий модулю, который был фактически прослежен. Небольшая демонстрация:

$ echo print > hello.py
$ echo import hello > main.py
$ coverage run main.py

$ rm hello.py
$ coverage xml
No source for code: '/tmp/aoeu/hello.py'

По-видимому, у меня был файл Stopwords.cyc, который был выполнен / прослежен, но без Stopwords.cy. Тем не менее, нигде в моем коде я импортировал стоп-слова и даже удалить. Pyc i все еще получил ошибку.

Простой strings .coverage Затем выяснилось, что ссылка на Stopwords.py все еще существовала. nosetests --with-coverage Использование добавления покрытия или функциональности слияния, означающих старые. Технические данные все еще задерживаются. Действительно, удаление. Регистрация обратилась к проблеме.

Просто используйте аргумент «- Стереть». Это исправляет эту ошибку, и вам не нужно вручную удалять файлы покрытия

nosetests --with-coverage --cover-erase

Я настоятельно рекомендую проверить помощь, чтобы увидеть, какие другие args вы тоже не пропустите, и не забывайте эти плагины либо

Проблема в том, что .pyc Файл все еще существует.

Быстрое и грязное решение - удалить все .pyc Файлы в этом каталоге:

find . -name "*.pyc" -exec rm -rf {} \;

Я бежал в эту проблему, а также при попытке запустить охват нешестей через SetUptools. Как уже упоминалось, можно удалить существующие файлы. Pycc, но которые могут быть громоздкими.

Я оказался, чтобы создать файл .ceveragerC со следующими

отчет

Ignore_Errors = True.

исправить эту ошибку.

Может быть, это поможет, но я столкнулся с аналогичной ошибкой сегодня. И это ошибка разрешений. Мой код использует оформление заказа от другого пользователя (по проектированию, внизу), и мне нужно sudo для того, чтобы покрыть для работы. Таким образом, ваша проблема может иметь что-то для этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top