2010-01-29 5 views
2

Je viens de terminer la section de codage de devoir simple pour ma classe C++. La deuxième partie de la mission nous oblige à vérifier la validation des entrées de notre code. (Le programme prend plusieurs valeurs différentes comme entrées d'un utilisateur et imprime ces valeurs dans un fichier)Interaction avec le programme et test via le script bash

J'espérais pouvoir utiliser le script bash pour cela. Est-il possible d'utiliser bash script pour exécuter et interagir avec un programme? Comment puis-je mettre la sortie du programme dans une variable (notez que le programme a une série de demandes d'entrée et de sorties).

Merci

+0

Jetez un oeil à tush: http://darius.livejournal.com/42878.html –

Répondre

3

Pour construire sur la réponse de @Travis, créez deux fichiers: un contenant vos entrées (input.txt) et on tient la sortie attendue (expected_output.txt). Ensuite, procédez comme suit:

./myprogram <input.txt >output.txt 
diff output.txt expected_output.txt 

Si la commande diff a une sortie, il y a un problème.

+0

C'est une bonne idée! –

+0

Si vous utilisez 'diff -u' pour générer la différence, la sortie peut être plus lisible. – ndim

0

Vous pouvez faire beaucoup de ceci avec un script shell, mais vous pouvez envisager d'utiliser d'autres outils de test à la place comme CppUnit ou expect.

Questions connexes