Journal Presentation "Git Bisect and Testing" au GTAC 2010

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
2
mar.
2011

C'est un peu vieux maintenant, mais à la Google Test Automation Conference en octobre dernier (2010) en Inde, j'ai fait une presentation sur Git Bisect. En plus de la vidéo, il y a des slides.

J'avais fait presque la même présentation au Linux Kongress 2009 à Dresde.

  • # ktest

    Posté par  (site web personnel) . Évalué à 7.

    A ce sujet j'ai vu qu'il allait y avoir un nouvel outil intégré dans le répertoire /tool du noyau 2.6.38.
    C'est un script perl (ktest.pl) écrit par Steven Rostedt qui permet d'automatiser les tests d'une nouvelle version du noyau et qui fait la bisection automatique en cas de bug. Cela semble très sympathique.

    Voir la présentation ici : https://lkml.org/lkml/2010/10/28/295
    Le script lui-même se trouve là.

    • [^] # Re: ktest

      Posté par  (site web personnel) . Évalué à 2.

      Comment marche le truc ? J'imagine bien la génération de plein d'arbre de code source à compiler. Mais comment faire pour "lancer" le noyau pour ensuite faire le teste ? Il faut tout faire à la main ?

      "La première sécurité est la liberté"

      • [^] # Re: ktest

        Posté par  . Évalué à 6.

        Sinon, tu peux aussi lire les liens.

        • [^] # Re: ktest

          Posté par  . Évalué à 6.

          Fais ce qu'il dit, sinon il va envoyer un tweet à Linus Torvalds et quelqu'un sera viré du développement du noyau !

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Un petit contenu accessible aux neu-neux ?

    Posté par  . Évalué à 4.

    L'agrément de linuxfr c'est aussi parfois d'avoir des lumières sur des sujets dont on ne soupçonnait même pas l'existence. Comme GTAC ou GitBisex...
    Dis Christianou, tu peux pas nous expliquer en trois lignes qu'est-ce que c'est cette bouteille de lait ? Hein qu'est-ce-que c'est cette bouteille de laiiiit ?

    • [^] # Re: Un petit contenu accessible aux neu-neux ?

      Posté par  (site web personnel) . Évalué à 3.

      Comme indiqué dans la documentation, git bisect sert à trouver le commit à l'origine d'un bug par une sorte de dichotomie dans le graphe des commits.

      • [^] # Re: Un petit contenu accessible aux neu-neux ?

        Posté par  . Évalué à 9.

        Pour compléter un petit peu car lire la doc quand on connait pas Git, ça peut être lourd...
        Donc bisect te permet en connaissant un commit qui marche (borne min) et un commit qui plante (borne sup), d'extraire (facilement) par dichotomie des versions intermédiaires de ton programme de ton dépot git (controleur de code source) et de tester ces versions, soit automatiquement par un script soit manuellement et de lui indiquer le résultat du test. Il extrait alors une autre version en conséquence (en amont ou en aval).

        Par exemple, si tu as ton erreur apparue (tu en est sûr) dans les 100 derniers commits, tu as statistiquement 7 versions max à tester (ln(100)/ln(2)). Si tu peux produire un script de test, t'as juste à aller boire un café...

    • [^] # Re: Un petit contenu accessible aux neu-neux ?

      Posté par  . Évalué à -1.

      Alors tu vois, ça c'est ta mère, ça c'est ma bite. Et protch !

      Voilà, c'est comme ça qu'on fait les bébés !

      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: Un petit contenu accessible aux neu-neux ?

      Posté par  (site web personnel) . Évalué à 3.

      Imagine que tu as deux commits X et Y. Dans Y tu as une fonction qui se plante lamentablement, n'apporte pas le résultat attendu. Grâce à bissect, tu va pouvoir tester une à une les modifications d'un fichier entre les deux commits et trouver à quel endroit tu as introduit une erreur.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.