summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2010-11-22 21:56:57 +0000
committerLudovic Pouzenc <ludovic@pouzenc.fr>2010-11-22 21:56:57 +0000
commit8fec5c9ee11bb5a2a1be8e54a85d01f09180faa1 (patch)
tree83fa24d334608351d44f819d7dfb1b3045a2bf0c /src
parent5afe70fb34b0e49fc030a8f34026fdb0e6a704e1 (diff)
download2010-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.c26
-rwxr-xr-xsrc/test/testfunc_001_lex.sh24
-rw-r--r--src/test/testfunc_002_parse.c16
-rwxr-xr-xsrc/test/testfunc_002_parse.sh22
-rwxr-xr-xsrc/test/testfunc_003_loadress.sh22
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