Question

Cela semble être question fondamentale mais je suis assommé. Comment tester les scripts que l'on a écrit pour accrochage fin.

Comme nous le savons ce script est en cours d'exécution en arrière-plan et seule erreur est de lancer de retour sur nous par la console SVN. J'ai essayé avec point d'arrêt, mais il n'y a rien que je peux contribuer au script.

Est-ce que quelqu'un a une idée à ce sujet. Je vous écris script crochet svn sur les fenêtres tant déjà des scripts écrits crochet soit ne fonctionne pas ou ne donnant pas la sortie désirée par exemple l'enregistrement type MIME et script eol de apache.

Était-ce utile?

La solution

Je peux vous donner quelques conseils:

  • Vous devez imprimer à STDERR. C'est la seule façon que votre script vous rendra compte des erreurs. Vous pouvez l'utiliser pour le test réel.
  • J'ai écrit mon script de pré-engageront à prendre à la fois un -t ou un paramètre de ligne de commande -r. Lors de l'exécution d'un crochet de pré-validation, je peux utiliser le paramètre -t pour passer dans le numéro de transaction. Lors de l'exécution depuis la ligne de commande, je peux utiliser le paramètre -r et lui donner un numéro de révision à courir contre.
  • J'ai aussi écrit une fonction debug qui m'a permis d'imprimer des informations quand je définissaient un paramètre de ligne de commande -debug. Je pouvais et désactiver cette fonction.
  • Si vous testez réellement votre crochet, utilisez une copie du référentiel, et assurez-vous que le script shell pre-commit échouera en terminant avec un code de sortie de 2. Vous ne serez jamais engager votre transaction, mais vous obtenez des messages dans votre script pre-commit ce qui se passe (qui est, si vous imprimez tout à STDERR).

Vous pouvez regarder les scripts hook que je développe pour obtenir quelques idées. J'utilise le module Perl Data::Dumper qui peut aider à imprimer des structures de données dans mon script.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top