Помимо предложений о том, как обеспечить сборку вашего приложения
и, по крайней мере, частично проверить на нормальных ПК (что также полезно для
используя такие инструменты, как Valgrind) Я бы подумал о дизайне вашего программного обеспечения.
В одном проекте, над которым я работал, был компонент для управления оборудованием, один
для решения задач управления и другого управления сетью.
Управление сетью осуществлялось SNMP, поэтому его было легко написать
сценарии, которые запускались удаленно, чтобы заставить аппарат делать что-то.
Для запуска аппаратных тестов низкого уровня я написал простую программу чтения скриптов
который анализировал тестовые сценарии и вводил команды в IPC моего
Водитель. Поскольку вывод был основан на видео, было трудно автоматизировать
проверка обработки, кроме как на глаз, но это, безусловно, сохранено
мне RSI. Это также было очень полезно при создании сценариев, которые подчеркивают
проверенные или смоделированные известные условия отказа, чтобы гарантировать, что ошибки не
повторное возникновение.
Если бы я делал все это снова, я бы, вероятно, реализовал общий
библиотека, используемая тестовым набором и реальным кодом для отправки ядра
Сообщения. Затем я бы завернул библиотеку в Python (или что-то
похоже), так что мое тестирование может быть немного более "сценарием".