# Test automatise de proto # Ces tests d‚montre qu'une nouvelle version de proto fait la mˆme chose # que l'ancienne. Ces test contiennent diff‚rents cas problŠme qui # ont ‚t‚ r‚solus au cours des ann‚es. # On compare simplement le r‚sultat d'une version avec la pr‚c‚dente # et on assume que la vie est belle. # Il serait probablement plus correcte de conserv‚ les r‚sultats # d'une version r‚f‚rence. .huge = proto diff ..\proto !precious # Ne detruit pas les fichiers si erreur !if $d(MSDOS) NOUVEAU = ..\proto ANCIEN = proto !else NOUVEAU = ../proto ANCIEN = proto !endif test:: src src: @echo Prototype des sources de proto @delc toto.nap toto.nar toto.p @echo nouveau @$(NOUVEAU) -v -x manuel*.c -p -m0 ../*.c @mv testseq.p toto.p @mv testseq.nar toto.nar @mv testseq.nap toto.nap @echo ancien @$(ANCIEN) -v -x manuel*.c -p -m0 ../*.c @diff -c testseq.p toto.p @diff -c testseq.nap toto.nap @diff -c testseq.nar toto.nar @delc testseq.nar testseq.nap testseq.p !define seq fichier options [ ignore test:: $(fichier) $(fichier):: @echo --- $(fichier) $(options) ----- !if $d(MSDOS) @$(ignore)proto $(options) -ftoto.old $(fichier) @$(ignore)..\proto $(options) -ftoto.new $(fichier) !else @$(ignore)proto $(options) -ftoto.old $(fichier) 2>err.old @$(ignore)../proto $(options) -ftoto.new $(fichier) 2>err.new @-diff -c err.old err.new !endif @-diff -c toto.old toto.new !enddef !use seq k_r.tst -ceos !use seq cplus.tst -ceos+ !use seq preproc.tst -co !use seq patch.tst -co - !use seq ptr.tst -ceos+ !use seq class.tst -ceos+i test:: test.b test.b: @echo ---- fabrique cplus.h a partir de cplus.tst @echo nouveau @cp cplus.hrf cplus.h @$(NOUVEAU) -c+ -fcplus.pm cplus.tst -bcplus.h+cplus.pm=cplus.h >err.new 2>&1 @mv cplus.h toto.new @echo ancien @cp cplus.hrf cplus.h @$(ANCIEN) -c+ -fcplus.pm cplus.tst -bcplus.h+cplus.pm=cplus.h >err.old 2>&1 @mv cplus.h toto.old @-diff -c toto.old toto.new @-diff -c err.old err.new