Test de fonction
Le
ZarkXe

Bonjour à tous,
En consultant le code source de glibc, j'ai vu il y a des test de
fonction par exemple la fonction strncmp(const char *s1, const char *s2,
size_t n); qui est définie dans le fichier strcmp.c est associer à
test-strncmp.c.
je désier savoir dans quelle condition fait-t-il le test ? Est-t-il fait
durant la compilation ? Ou c'est le programmeur qui fait le test ?
Je voudrais implémenter cette méthode pour tester mes fonction que me
conseillerais-vous ?
Merci à tous.
ZarkXe.
En consultant le code source de glibc, j'ai vu il y a des test de
fonction par exemple la fonction strncmp(const char *s1, const char *s2,
size_t n); qui est définie dans le fichier strcmp.c est associer à
test-strncmp.c.
je désier savoir dans quelle condition fait-t-il le test ? Est-t-il fait
durant la compilation ? Ou c'est le programmeur qui fait le test ?
Je voudrais implémenter cette méthode pour tester mes fonction que me
conseillerais-vous ?
Merci à tous.
ZarkXe.
Lis la doc des autotools. En general, ca conduit a une cible "check" dans le
Makefile final pour executer les tests de non regression.
Il y a aussi un outil dedie aux tests en C chez GNU qui s'appelle dejagnu,
qui est utilise dans pas mal de gros projets.
Un test de fonction, qui est une très bonne chose quand c'est bien
fait, permet de vérifier si la fonction se comporte conformément à sa
définition (validation de fonctionnement normal et aux limites) mais
aussi parfois de qualifier son comportement au-dela des limites
(éviter un crash parce qu'un pointeur est NULL, par exemple).
Ce test peut s'inscrire dans une 'suite' de tests automatiques ou être
lancé à la main par le codeur. Par contre, il ne fait évidemment
jamais partie de la bibliothèque dexécution qui regroupe le code
compilé et opérationnel des fonctions.
Il ne *devrait* jamais faire partie de la bibliotheque d'execution,
evidemment...