Je commence à écrire des scripts et je n'arrive pas à comprendre comment démarrer un script bash qui testera automatiquement la sortie d'un programme par rapport à la sortie attendue. Je souhaite écrire un script bash qui exécutera un exécutable spécifié sur un ensemble d'entrées de test, par exemple in1 in2 etc., par rapport aux sorties attendues correspondantes, out1, out2, etc., et vérifier qu'elles correspondent. Le fichier à tester lit son entrée depuis stdin et écrit sa sortie sur stdout. L'exécution du programme de test sur un fichier d'entrée implique donc une redirection d'E/S.Script Bash pour tester automatiquement la sortie du programme - C
Le script sera appelé avec un seul argument, qui sera le nom du fichier exécutable à tester. J'ai des difficultés à démarrer, alors toute aide (liens vers des ressources expliquant comment je pourrais faire cela) serait grandement appréciée. J'ai évidemment essayé de me chercher mais je n'ai pas eu beaucoup de succès dans ça.
Merci!
Vous pouvez utiliser les commandes 'diff' ou' cmp' pour comparer les sorties. –
Les programmes 'diff',' cmp' et 'comm' (en particulier les deux premiers) sont utilisés pour comparer deux fichiers. Ainsi, vous pouvez capturer la sortie attendue dans un fichier, la sortie réelle dans un autre, puis comparer les fichiers. C'est la manière la plus simple de le faire; ce n'est pas forcément le meilleur. –
Je pense que votre description est un peu faux. La façon dont je le lis, vous voulez que les entrées correspondent aux sorties. Mais je pense que vous voulez dire que vous avez des entrées de test, des sorties réelles et des sorties attendues. Et vous voulez différencier les deux derniers. – Mikel