Я пишу код C для чипа AVR. Код перегружен процедурами обслуживания прерываний, которые ожидают последовательных портов, АЦП и таймеров. ISR записывают в буферы, которые проверяет основной цикл, когда до них доходит.
Я разрабатываю буферы так, чтобы ISR могли обновлять их, пока основной цикл их считывает. Я хочу убедиться, что это работает. У меня есть модульные тесты для проверки базовой операции, но я не понимаю, как проверить, что произойдет, если сработает прерывание, когда основной цикл считывает буфер.
Мой юнит-тест действительно прост — некоторый код в main()
функции. Я запускаю тесты на своем Linux-боксе.