Comment testez-vous si le code compilé renvoie le résultat attendu ou échoue comme prévu?Le meilleur moyen de tester le code compilé pour retourner la sortie/les erreurs attendues
J'ai développé un exemple de travail ci-dessous, mais il n'est pas facilement extensible. Chaque test supplémentaire nécessiterait des parenthèses d'imbrication supplémentaires. Bien sûr, je pourrais diviser cela en d'autres fichiers, mais avez-vous des suggestions sur la façon d'améliorer cela? Aussi, je prévois d'utiliser cela depuis la section make test dans un makefile, donc je ne m'attends pas à ce que d'autres personnes installent quelque chose qui n'est pas installé par défaut, juste pour le tester. Et stdout devrait également rester intercalé avec stderr.
exemple simplifié:
./testFoo || echo execution failed
./testBar && echo expected failure
(./testBaz && (./testBaz 2>&1 | cmp -s - foo.tst && (./testFoo && echo and so on
|| echo testFoo's execution failed)|| echo testBaz's does not match )
|| echo testBaz's execution failed
mon testeur actuel ressemble à ceci (pour un test):
\#!/bin/bash
compiler1 $1 && (compiler2 -E --make $(echo $1 | sed 's/^\(.\)\(.*\)\..*$/\l\1\2/') && (./$(echo $1 | sed 's/^\(.\)\(.*\)\..*$/\l\1\2/') || echo execution failed) || less $(echo $1 | sed 's/^\(.\)\(.*\)\..*$/\l\1\2/').err) || echo compile failed
Merci d'avoir répondu, je vais garder cela à l'esprit. En attendant, j'ai trouvé un framework de test de makefile, que je vais vérifier s'il fait ce que je veux. – Jean