asma: ... offizielle testfaelle rennen jetzt auch durch
[uebersetzerbau-ss10.git] / asma / main.c
index fabeaab9a7d93e2966ffde76a6491b21ea496119..a228147f4133c39147f5a69341ab6fa84e6bce5f 100644 (file)
@@ -16,31 +16,37 @@ unsigned char *asma_ref(unsigned char *s)
 }
 
 int main(int argc, char **argv) {
-       char *input1[]={"asdfABCDEFGHKL54", "foofuuMUHkk", "AbC"};
+       char *input1[]={"asdfABCDEFGHKL54", "foofuuMUHkk", "AbC", "BLA|MUHMKUH|KA"};
        char *output1;
        char *output2;
        char *input2;
        char *input3;
-       int i;
+       int i, j;
+       int off[] = {2,0,0,0};
 
-       for(i = 0; i < 3; i++) {
+       for(i = 0; i < 4; i++) {
                input2 = strdup(input1[i]);
                input3 = strdup(input1[i]);
-               printf("input2: %p\n", input2);
-               output1 = (char *)asma_ref((unsigned char *)(input2));
-               output2 = (char *)asma((unsigned char *)(input3));
-
-               printf("asma-output2: %p\n", output2);
-               fflush(stdout);
+               output1 = (char *)asma_ref((unsigned char *)(input2 + off[i]));
+               output2 = (char *)asma((unsigned char *)(input3 + off[i]));
 
                output1[16]='\0';
                output2[16]='\0';
+
+               printf("\n");
                if(memcmp(output1,output2, 16)) {
-                       printf("Testfall falsch; erwartet:\n\t\"%s\"\ntatsaechliches Ergebnis:\n\t\"%s\"\n", output1, output2);
+                       j = 0;
+                       printf("Testfall falsch; Input war: \"%s\"\n", input1[i]);
+                       printf("erwartet:\n\t\"%s\"\ntatsaechliches Ergebnis:\n\t\"%s\"\n", output1, output2);
+#if 0
+                       printf("0x");
+                       for(j = 0; j < 16; j++)
+                               printf("%02X", output2[j]);
+                       printf("\n");
+#endif
                } else {
                        printf("Testfall \"%s\" passt.\n", output1);
                }
-               printf("\n");
 
                free(input2);
                free(input3);