Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Test de fonction

3 réponses
Avatar
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.

3 réponses

Avatar
espie
In article <j7q4kg$dd6$,
ZarkXe wrote:
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 ?



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.
Avatar
-ed-
On 20 oct, 23:42, ZarkXe wrote:
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 fai t
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.



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 d’exécution qui regroupe le code
compilé et opérationnel des fonctions.
Avatar
espie
In article ,
-ed- wrote:
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 d’exécution qui regroupe le code
compilé et opérationnel des fonctions.



Il ne *devrait* jamais faire partie de la bibliotheque d'execution,
evidemment...