diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2010-11-22 21:56:57 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2010-11-22 21:56:57 +0000 |
commit | 8fec5c9ee11bb5a2a1be8e54a85d01f09180faa1 (patch) | |
tree | 83fa24d334608351d44f819d7dfb1b3045a2bf0c /src | |
parent | 5afe70fb34b0e49fc030a8f34026fdb0e6a704e1 (diff) | |
download | 2010-netlemmings-8fec5c9ee11bb5a2a1be8e54a85d01f09180faa1.tar.gz 2010-netlemmings-8fec5c9ee11bb5a2a1be8e54a85d01f09180faa1.tar.bz2 2010-netlemmings-8fec5c9ee11bb5a2a1be8e54a85d01f09180faa1.zip |
Amélioration du système de tests, le loadress n'est pas fini d'être codé
git-svn-id: file:///var/svn/2010-netlemmings/trunk@169 077b3477-7977-48bd-8428-443f22f7bfda
Diffstat (limited to 'src')
-rw-r--r-- | src/test/testfunc_001_lex.c | 26 | ||||
-rwxr-xr-x | src/test/testfunc_001_lex.sh | 24 | ||||
-rw-r--r-- | src/test/testfunc_002_parse.c | 16 | ||||
-rwxr-xr-x | src/test/testfunc_002_parse.sh | 22 | ||||
-rwxr-xr-x | src/test/testfunc_003_loadress.sh | 22 |
5 files changed, 95 insertions, 15 deletions
diff --git a/src/test/testfunc_001_lex.c b/src/test/testfunc_001_lex.c index 8c9d870..1938f5c 100644 --- a/src/test/testfunc_001_lex.c +++ b/src/test/testfunc_001_lex.c @@ -1,17 +1,17 @@ #include <stdio.h> #include "SDL/SDL.h" + extern FILE *yyin; extern int yylex(); typedef union YYSTYPE { char* str; int num; uint32_t uint32; uint32_t *p_uint32; } YYSTYPE; - YYSTYPE yylval; int main(int argc, char **argv) { char *filepath=NULL; - int res; + int res, pos, end; if (argc<2) { fprintf(stderr, "Usage %s <ini_file>\n", argv[0]); @@ -28,12 +28,26 @@ int main(int argc, char **argv) { return 2; } } - printf("Parsing '%s'\n", filepath); + //printf("Parsing '%s'\n", filepath); while( (res=yylex()) ) { - fprintf(stderr, "%i\n", res); + if (res==258) { + printf("LEXERROR\n"); //FIXME : faire mieux ! + return 3; + } } - printf("\nEnd of parse ('%s')\n", filepath); + //printf("End of parse ('%s')\n", filepath); + + pos=ftell(yyin); + res=fseek(yyin, 0L, SEEK_END); + if (res!=0) return 4; + end=ftell(yyin); fclose(yyin); - return 0; + + if (pos!=end) { + printf("pos==%i ; end==%i\n", pos, end); + return 5; + } + + return 0; } diff --git a/src/test/testfunc_001_lex.sh b/src/test/testfunc_001_lex.sh index 6770c26..e4be5e2 100755 --- a/src/test/testfunc_001_lex.sh +++ b/src/test/testfunc_001_lex.sh @@ -1,2 +1,22 @@ -#!/bin/sh -find ../../styles/ ../../level/ -name *.ini -exec ./test_lex {} \; +#!/bin/bash + +function do_test() { + while read file + do + text=$($1 $file) + res=$? + + if [ $res -ne 0 ] + then echo "Erreur : code retour $res" + exit $res + fi + if [ -n "$text" ] + then echo "Erreur : spurious text : '$text'" + echo 253 + fi + done +} + +find ../styles/ ../level/ -name *.ini | do_test src/test/testfunc_001_lex + + diff --git a/src/test/testfunc_002_parse.c b/src/test/testfunc_002_parse.c index 03b92ca..d0c4fcf 100644 --- a/src/test/testfunc_002_parse.c +++ b/src/test/testfunc_002_parse.c @@ -9,6 +9,7 @@ extern FILE *yyin; int main(int argc, char **argv) { char *filepath=NULL; + int res, pos, end; gameIni_t gIni; if (argc<2) { @@ -27,10 +28,19 @@ int main(int argc, char **argv) { } } memset(&gIni,0,sizeof(gameIni_t)); - printf("Parsing '%s'\n", filepath); - parse(&gIni); + //printf("Parsing '%s'\n", filepath); + parse(&gIni); // FIXME avoir de retour d'erreur ici ! // printf("End of parse ('%s')\n", filepath); + pos=ftell(yyin); + res=fseek(yyin, 0L, SEEK_END); + if (res!=0) return 4; + + end=ftell(yyin); fclose(yyin); - return 0; + + if (pos!=end) { + printf("pos==%i ; end==%i\n", pos, end); + return 5; + } } diff --git a/src/test/testfunc_002_parse.sh b/src/test/testfunc_002_parse.sh index a437518..3c60d43 100755 --- a/src/test/testfunc_002_parse.sh +++ b/src/test/testfunc_002_parse.sh @@ -1,2 +1,20 @@ -#/bin/sh -find ../../styles/ ../../level/ -name *.ini -exec ./test_parse {} \; +#!/bin/bash + +function do_test() { + while read file + do + text=$($1 $file) + res=$? + + if [ $res -ne 0 ] + then echo "Erreur : code retour $res" + exit $res + fi + if [ -n "$text" ] + then echo "Erreur : spurious text : '$text'" + echo 253 + fi + done +} + +find ../styles/ ../level/ -name *.ini | do_test src/test/testfunc_002_parse diff --git a/src/test/testfunc_003_loadress.sh b/src/test/testfunc_003_loadress.sh index 11b5c3e..e5678ea 100755 --- a/src/test/testfunc_003_loadress.sh +++ b/src/test/testfunc_003_loadress.sh @@ -1,2 +1,20 @@ -#/bin/sh -find -name 'lvl*.ini' -exec ../src/test/test_load {} \; +#!/bin/bash + +function do_test() { + text=$($*) + res=$? + + if [ $res -ne 0 ] + then echo "Erreur : code retour $res" + exit $res + fi + if [ -n "$text" ] + then echo "Erreur : spurious text : '$text'" + echo 253 + fi +} + +for l in $(seq 1 50) +do + do_test src/test/testfunc_003_loadress 1_orig $l +done |