1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/neptunekk-pyOCD

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
automated_tests.md 5.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 01:31 bab4028

Автоматизированные тесты

Для проверки pyOCD используются как модульные, так и функциональные тесты.

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

Модульные тесты

Модульные тесты находятся в каталоге tests/unit репозитория. Они должны выполняться с использованием pytest, поскольку они полагаются на расширенные возможности этого инструмента.

Чтобы запустить модульные тесты, просто вызовите pytest в корневом каталоге репозитория. Прочитайте использование pytest, чтобы увидеть множество предоставляемых им опций.

Чтобы получить результаты покрытия кода, выполните следующие действия:

$ pytest --cov-report=html --cov=pyocd
$ open htmlcov/index.html

Функциональные тесты

В каталоге test/ предоставляется ряд довольно обширных функциональных тестов. Основной скрипт для запуска этих тестов — automated_test.py. Он выполнит все функциональные тесты последовательно для всех подключённых отладочных зондов, а затем создаст сводку и отчёт в формате JUnit XML. Этот скрипт используется для выполнения нашего плана тестирования CI, и мы часто используем его в наших личных системах разработки для тестирования перед созданием запросов на вытягивание.

Функциональные тесты:

  • basic_test.py: простой тест, который проверяет ряд основных функций, от программирования флэш-памяти до доступа к памяти и основным регистрам.
  • blank_test.py: проверяет возможность подключения к устройствам с пустой флэш-памятью. (Не запускается automated_test.py.)
  • connect_test.py: тестирует все комбинации параметров «остановиться при подключении» и «возобновить при отключении».
  • cortex_test.py: проверяет операции управления ЦП и доступ к памяти.
  • debug_context_test.py: тестирует некоторые классы DebugContext.
  • flash_test.py: комплексный тест программирования флэш-памяти.
  • flash_loader_test.py: тестирование классов в модуле pyocd.flash.loader.
  • gdb_server_json_test.py: проверка вывода JSON от pyocd-gdbserver, используемого такими инструментами, как GNU MCU Eclipse pyOCD plugin.
  • gdb_test.py: тестирование gdbserver путём запуска скрипта в процессе gdb. Обратите внимание, что в Windows 32-разрядный Python 2.7 должен быть установлен для правильной работы Python-enabled gdb и прохождения теста.
  • parallel_test.py: поиск проблем с доступом к отладочным зондам из нескольких процессов и потоков одновременно. (Не выполняется automated_test.py.)
  • speed_test.py: тест производительности для чтения и записи в память.

Тестирование с помощью tox

pyOCD включает файл конфигурации для tox, который позволяет легко тестировать как Python 2.7, так и 3.7. Инструмент tox включён в dev-requirements.txt, поэтому он уже будет присутствовать в стандартной виртуальной среде разработчика pyOCD.

Чтобы выполнить функциональные тесты для обеих версий Python, просто выполните tox из корня репозитория pyOCD. Он создаст новые виртуальные среды для каждой версии Python и запустит automated_test.py.

В настоящее время в конфигурацию tox включены только функциональные тесты.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/neptunekk-pyOCD.git
git@api.gitlife.ru:oschina-mirror/neptunekk-pyOCD.git
oschina-mirror
neptunekk-pyOCD
neptunekk-pyOCD
master