IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Des tests en Perl pour son prog en C


Sujet :

C

  1. #1
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut Des tests en Perl pour son prog en C
    Bonjour,
    Dans le cadre d'un projet d'univ on est oblige d'ecrire des tests en perl pour du code C.
    J'ai sais qu'il faut utiliser le module test::More ou Simple mais le probleme c'est je suis en manque de doc sachant aussi que j'ai deja visite auelaue site par exemple :
    http://articles.mongueurs.net/magazines/linuxmag88.html
    http://search.cpan.org/dist/Test-Sim...t/Tutorial.pod
    mais qui ne donne pas d'exemple d'interaction avec d'autres langages.
    bref, j'ai une fonction foo() qui prend en argument une chaine *str et qui me l'affiche a l'ecran (c'est qu'un exemple)
    comment dois je faire pour ecrire les tests de cette fonction en PERL?
    J'ai deja une idee c'est de sauver la sortie standard dans un fichier pour ensuite la comparer avec le resultat souhaite.

    franchement, si quelqu'un a un exemple sur ca je suis preneur merci beaucoup.

    Merci de votre aide.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    J'ai sous la main des tests de fonctions C justement écrits en Perl avec les modules que tu cites. Toutefois, pour des raisons de confidentialité, je ne peux pas te les passer mais je peux répondre à tes questions.

    Le problème n'est pas vraiment d'écrire les tests en Perl mais d'interfacer tes fonctions C avec le Perl. Vu le nombre de fonctions que nous avions à interfacer, nous avons utilisé SWIG. Oriente donc ta recherche sur SWIG http://www.swig.org/. En fait SWIG, s'appuie sur perlxs qui est le coeur de l'interfaçage Perl/C. SWIG ne fait qu'automatiser la génération du code.

    Brève description de la démarche avec swig.

    Ecriture d'un fichier swig interface interface.i
    Génération avec swig du code (swig -perl5 interface.i)
    Génération de la librairie d'interfaçage (perl Makefile.PL ; make)
    Installation de la librairie d'interfaçage - je n'ai jamais réussi à faire sans (make install)
    Ecriture du fichier de tests (tests.pl)
    Lancement des tests (perl tests.pl)

    Avec ceci, tu as les grandes étapes à suivre. Tu pourras toujours me redemander quand tu bloqueras sur un point.

  3. #3
    Membre régulier Avatar de AliJava
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 184
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    Je te remercie enormement pour le lien je savais pas que le swig existait.
    alors je t'explique en gros ce que je veux faire :
    j'ai mon executable qui est ./toto et que dans lequelle je tapp des command
    open <> as <> en gros mon prog charge des lib dynamique et les decharge et vous fait un listing des fonctions qui contiennent ... voici grossomodo mon exec.
    comment puis je faire mes test ?
    ce que j'envisage de faire c'est d'ecrire un script perl qui lance mon exec et qui lui balance des commandes puis dans un fichier je metterai les resultats attendus pour chaque commande ainsi il me restera plus qu'à faire une comparaison entre mon fichier "resultat" et le stdout.

    qu'est ce que vous en penser, c'est la premiere fois que j'ai à faire mes tests avec du perl (par obligation !).
    sinon vive junit :p

    merci beaucoup de ton aide que j'apprecie puisqu'il n'y a pas bcp d'exemple ladessus.

    ceci dit je vais regarder le swig si ça repond à mon besoin. merci.
    ..::: aa du bocal ..:::
    Il nous faut deux ans pour apprendre à parler et toute une vie pour apprendre se taire.
    N'oublier surtout pas de ne pas poster la réponse même si on vous a pas aidé

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Citation Envoyé par AliJava Voir le message
    ce que j'envisage de faire c'est d'ecrire un script perl qui lance mon exec et qui lui balance des commandes puis dans un fichier je metterai les resultats attendus pour chaque commande ainsi il me restera plus qu'à faire une comparaison entre mon fichier "resultat" et le stdout.
    Avec swig, je te propose de tester chacune des fonctions d'une éventuelle librairie sur laquelle s'appuierait ton exécutable... mais pas l'exécutable.
    Ce n'est donc peut-être pas ce que tu cherches...

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/03/2015, 17h39
  2. Twitter annonce des règles plus strictes pour son API
    Par Hinault Romaric dans le forum APIs Réseaux sociaux
    Réponses: 20
    Dernier message: 09/07/2012, 17h12
  3. Twitter annonce des règles plus strictes pour son API
    Par Hinault Romaric dans le forum Actualités
    Réponses: 20
    Dernier message: 09/07/2012, 17h12
  4. Réponses: 3
    Dernier message: 07/12/2007, 18h12
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo