Implémentation de `Créer un chèque 'ou de« Test »
-
30-10-2019 - |
Question
Comment puis-je implémenter un cadre de test de régression simple avec MAKE? (J'utilise GNU Make, si cela compte.)
Mon Makefile actuel ressemble à ceci (édité pour la simplicité):
OBJS = jscheme.o utility.o model.o read.o eval.o print.o
%.o : %.c jscheme.h
gcc -c -o $@ $<
jscheme : $(OBJS)
gcc -o $@ $(OBJS)
.PHONY : clean
clean :
-rm -f jscheme $(OBJS)
Je voudrais un ensemble de tests de régression, par exemple, expr.in
tester une «bonne» expression et unrecognized.in
tester un «mauvais», avec expr.cmp
& unrecognized.cmp
étant la sortie attendue pour chacun. Les tests manuels ressembleraient à ceci:
$ jscheme < expr.in > expr.out 2>&1
$ jscheme < unrecognized.in > unrecognized.out 2>&1
$ diff -q expr.out expr.cmp # identical
$ diff -q unrecognized.out unrecognized.cmp
Files unrecognized.out and unrecognized.cmp differ
J'ai pensé ajouter un ensemble de règles au makefile à la recherche de quelque chose comme ceci:
TESTS = expr.test unrecognized.test
.PHONY test $(TESTS)
test : $(TESTS)
%.test : jscheme %.in %.cmp
jscheme < [something.in] > [something.out] 2>&1
diff -q [something.out] [something.cmp]
Mes questions:
• Qu'est-ce que je mets dans les espaces réservés [quelque chose]?
• Existe-t-il un moyen de remplacer le message de diff
avec un message disant: «Teste expr
manqué"?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow