J'écris du code C pour une puce AVR. Le code est lourd sur les routines de service d'interruption qui attendent sur les ports série, les CAN et les minuteurs. Les ISR écrivent dans des tampons que la boucle principale examine lorsqu'elle leur parvient.Tests unitaires pour le code d'interruption-lourde
Je conçois les tampons afin que les ISR puissent les mettre à jour pendant que la boucle principale les lit. Je veux vérifier que cela fonctionne. J'ai des tests unitaires pour valider le fonctionnement de base, mais je ne sais pas comment tester ce qui se passe si une interruption se déclenche pendant que la boucle principale lit un tampon. Mes tests unitaires sont vraiment basiques - un peu de code dans une section main()
. Je cours les tests sur ma machine Linux.
Je pense qu'il peut être beaucoup de travail en utilisant des threads pour simuler le calendrier d'interruption. Je me demande si ce type de test est assez commun qu'il existe un paquet qui l'implémente. – iter