1 ///////////////////////////////////////////////////////////////////////////////
2 // Copyright (c) 2000-2015 Ericsson Telecom AB
3 // All rights reserved. This program and the accompanying materials
4 // are made available under the terms of the Eclipse Public License v1.0
5 // which accompanies this distribution, and is available at
6 // http://www.eclipse.org/legal/epl-v10.html
7 ///////////////////////////////////////////////////////////////////////////////
19 #define LOGFORMAT "ttcn3_logformat -s"
20 #endif /* LOGFORMAT */
22 static const unsigned char logo
[] = {
23 0x47, 0x49, 0x46, 0x38, 0x37, 0x61, 0x64, 0x00, 0x1B, 0x00,
24 0xF2, 0x00, 0x00, 0x40, 0x66, 0xCC, 0x80, 0x99, 0xCC, 0xA2,
25 0xA8, 0xE9, 0xBF, 0xCC, 0xFF, 0xF0, 0xF0, 0xF0, 0xFF, 0xFF,
26 0xFF, 0xE1, 0xE9, 0xF3, 0x4E, 0x92, 0xCB, 0x2C, 0x00, 0x00,
27 0x00, 0x00, 0x64, 0x00, 0x1B, 0x00, 0x00, 0x03, 0xFE, 0x08,
28 0xBA, 0xDC, 0xFE, 0x30, 0xCA, 0x49, 0xAB, 0xBD, 0x38, 0xEB,
29 0xCD, 0xBB, 0xFF, 0x60, 0x28, 0x8E, 0x64, 0x69, 0x9E, 0x68,
30 0x3A, 0x0A, 0x83, 0xA1, 0xBE, 0xE1, 0x31, 0x10, 0x34, 0x21,
31 0xC0, 0xB8, 0xD6, 0xD2, 0x45, 0x41, 0x07, 0xB9, 0xE0, 0x24,
32 0x50, 0xE3, 0x11, 0x0C, 0x37, 0xA1, 0xF2, 0x41, 0x2C, 0xDA,
33 0x0E, 0x00, 0xA8, 0x26, 0xC0, 0x1A, 0xB0, 0x92, 0x03, 0xAB,
34 0x15, 0x08, 0x08, 0x0C, 0xB8, 0x00, 0x81, 0xA1, 0x95, 0xF4,
35 0x8E, 0xCB, 0xAD, 0xEC, 0xC2, 0x8C, 0x5C, 0x54, 0xDD, 0x83,
36 0x48, 0x93, 0xF0, 0x8D, 0x8A, 0x09, 0x05, 0xB0, 0x45, 0xE0,
37 0x8C, 0xF3, 0x8F, 0x06, 0x34, 0x50, 0x3F, 0x5D, 0x34, 0x63,
38 0x33, 0x00, 0x33, 0x36, 0x2D, 0x85, 0x74, 0x62, 0x0A, 0x8A,
39 0x77, 0x04, 0x0A, 0x35, 0x2E, 0x00, 0x34, 0x12, 0x01, 0x5C,
40 0x01, 0x81, 0x45, 0x71, 0x18, 0x33, 0x49, 0x6E, 0x47, 0x0A,
41 0x81, 0x40, 0x34, 0x37, 0x34, 0x9F, 0x0B, 0xAA, 0x0C, 0x81,
42 0xAB, 0x8D, 0x52, 0xAF, 0x97, 0x3E, 0x04, 0xA7, 0x04, 0x52,
43 0x10, 0x5E, 0x4E, 0x86, 0xB9, 0x16, 0x33, 0x48, 0x54, 0x40,
44 0x7C, 0x06, 0x9A, 0x84, 0xA8, 0x44, 0x05, 0xBE, 0x89, 0x3E,
45 0x75, 0x61, 0x3E, 0xC5, 0x0A, 0x02, 0x05, 0x96, 0xCF, 0x2E,
46 0x78, 0x81, 0xD7, 0x93, 0x11, 0x9D, 0xB5, 0xAA, 0x7A, 0x17,
47 0x33, 0x3D, 0xCD, 0x5D, 0xB5, 0x3D, 0x5C, 0x78, 0x02, 0x01,
48 0x3E, 0x0F, 0x81, 0x3D, 0x96, 0x8A, 0x3E, 0x32, 0x74, 0x6B,
49 0xEC, 0x3F, 0xA8, 0xF2, 0x10, 0x7F, 0x3E, 0x05, 0xCE, 0x54,
50 0x1A, 0x7C, 0xBE, 0x68, 0x82, 0x32, 0xCD, 0x56, 0x27, 0x4A,
51 0x36, 0x92, 0x81, 0x1B, 0x95, 0x47, 0xC1, 0x81, 0x26, 0x2C,
52 0x48, 0x49, 0xA3, 0x46, 0xEB, 0xC0, 0x34, 0x03, 0xEC, 0x74,
53 0x61, 0xDB, 0xA4, 0x7C, 0xC8, 0x46, 0x86, 0x19, 0x03, 0xA0,
54 0x48, 0xF9, 0x13, 0x85, 0x10, 0xC6, 0x1B, 0xD9, 0xF4, 0x48,
55 0x39, 0x80, 0x47, 0x13, 0xAB, 0x84, 0x84, 0x00, 0xF8, 0x48,
56 0x65, 0x8B, 0x56, 0x4C, 0x08, 0x22, 0x77, 0x8C, 0xA3, 0x87,
57 0x81, 0x8F, 0xB7, 0x49, 0x24, 0x01, 0xCC, 0x0A, 0x74, 0xE3,
58 0x40, 0xA7, 0x1A, 0x42, 0x9D, 0x24, 0x72, 0x02, 0x45, 0x11,
59 0x46, 0x89, 0x78, 0xA0, 0x24, 0xDB, 0x16, 0xE1, 0x8F, 0x91,
60 0x99, 0x53, 0xB2, 0x64, 0x11, 0x70, 0xC3, 0x0B, 0x9A, 0x1B,
61 0x2C, 0xC0, 0xB0, 0x38, 0xD4, 0x45, 0xAB, 0x00, 0xA9, 0x66,
62 0x73, 0x99, 0xB1, 0x02, 0x07, 0xCE, 0xD9, 0x08, 0xBC, 0xE8,
63 0x2C, 0x5C, 0xB2, 0xC4, 0xEA, 0x91, 0xB7, 0x74, 0xF3, 0x36,
64 0x40, 0xA6, 0xB7, 0xAF, 0xDF, 0xBF, 0x80, 0x03, 0x0B, 0x1E,
65 0x4C, 0xB8, 0xB0, 0xE1, 0xC3, 0x12, 0x12, 0x00, 0x00, 0x3B };
71 static int GetIndent ( char *buf
, int buflen
, int indent
, int comment
)
77 for ( i
= 0; i
< buflen
; i
++ )
82 if ( ( i
< buflen
) && ( buf
[++i
] == '*') ) comment
++;
83 if ( ( i
< buflen
) && ( buf
[i
+1] == '/') ) return indent
;
87 if ( ( i
< buflen
) && ( buf
[++i
] == '/') ) comment
--;
91 if ( ! comment
) indent
++;
95 if ( ! comment
) indent
--;
104 static int TruncateLine ( char *inbuf
, int inbuflen
, int tablen
, int fillcol
, FILE *wfile
)
106 int i
, colnum
= 0, bufpos
;
107 char *buf
= malloc(inbuflen
+20*tablen
+1);
109 fprintf(stderr
, "malloc() failed.\n");
114 for ( i
= 0; i
< inbuflen
; i
++ )
116 buf
[bufpos
] = inbuf
[i
];
117 if ( buf
[bufpos
] == ' ' ) colnum
= bufpos
+ 1;
118 else if ( buf
[bufpos
] == '\n' )
120 buf
[bufpos
+1] = '\0';
121 fputs ( buf
, wfile
);
125 else if ( buf
[bufpos
] == '\t' )
128 for ( j
= 0; j
< tablen
; j
++ ) buf
[bufpos
+j
] = ' ';
132 if ( ( bufpos
>= fillcol
) && colnum
)
134 buf
[colnum
-1] = '\0';
135 fputs ( buf
, wfile
);
136 putc ( '\n', wfile
);
138 strncpy ( buf
, buf
+ colnum
, bufpos
+ 1 );
148 int WriteCode ( struct listentry
*first
, char *code_srcdir
, char *code_dstdir
, int tablen
, int fillcol
)
151 /* char dirname[256];*/
153 struct listentry
*tclist
;
156 if ( code_srcdir
[strlen(code_srcdir
)-1] == '/' ) code_srcdir
[strlen(code_srcdir
)-1] = '\0';
158 opdir
= opendir ( code_srcdir
);
161 perror ( code_srcdir
);
165 for ( dp
= readdir ( opdir
); dp
!= NULL
; dp
= readdir ( opdir
) )
167 ctemp
= strrchr ( dp
->d_name
, '.' );
168 if ( ctemp
&& ( strcmp ( ctemp
, ".ttcn" ) == 0 ) )
170 char fullname
[MAXLEN
];
174 sprintf ( fullname
, "%s/%s", code_srcdir
, dp
->d_name
);
175 if ( ( rfile
= fopen ( fullname
, "rt") ) == NULL
)
181 while ( fgets ( inbuf
, sizeof ( inbuf
), rfile
) != NULL
)
183 ctemp
= strchr ( inbuf
, 't' );
184 if ( ctemp
&& ( strncmp ( ctemp
, "testcase", 8 ) == 0 ) )
187 while ( tclist
->next
!= NULL
)
189 ctemp
= strchr ( inbuf
, tclist
->tcname
[0] );
190 if ( ctemp
&& ( strncmp ( ctemp
, tclist
->tcname
, strlen ( tclist
->tcname
) ) == 0 ) )
192 int indent
= 0, comment
= 0;
193 int started
= 0, needed
= 1;
195 sprintf ( fullname
, "%s/%s.ttcn", code_dstdir
, tclist
->tcname
);
196 if ( ( wfile
= fopen ( fullname
, "wt") ) == NULL
)
202 indent
= GetIndent ( inbuf
, strlen ( inbuf
), indent
, comment
);
203 if ( indent
) started
= 1;
204 TruncateLine ( inbuf
, strlen ( inbuf
), tablen
, fillcol
, wfile
);
207 if ( fgets ( inbuf
, sizeof ( inbuf
), rfile
) == NULL
) break;
208 indent
= GetIndent ( inbuf
, strlen ( inbuf
), indent
, comment
);
209 if ( ! started
&& indent
) started
= 1;
210 if ( started
&& ! indent
) needed
= 0;
211 TruncateLine ( inbuf
, strlen ( inbuf
), tablen
, fillcol
, wfile
);
215 tclist
= tclist
->next
;
224 if ( closedir ( opdir
) != 0 )
226 perror ( code_srcdir
);
234 int WriteLog ( struct listentry
*first
, char *log_srcdir
, char *log_dstdir
)
236 char cwd
[MAXLEN
], command
[MAXLEN
], log_absrcdir
[MAXLEN
];
237 char oldname
[MAXLEN
], newname
[MAXLEN
], tempdir
[MAXLEN
];
240 struct listentry
*tclist
;
243 sprintf ( tempdir
, "%s/temp", log_dstdir
);
250 if ( getcwd ( cwd
, sizeof ( cwd
) ) == NULL
)
257 if ( ( log_srcdir
[0] == '.' ) && ( ( log_srcdir
[1] == '/' ) || ( log_srcdir
[1] == '\0' ) ) )
260 ctemp
= &log_srcdir
[1];
261 strcpy (log_absrcdir
, cwd
);
262 strcat (log_absrcdir
, ctemp
);
264 else strcpy ( log_absrcdir
, log_srcdir
);
266 if ( log_absrcdir
[strlen(log_absrcdir
)-1] == '/' ) log_absrcdir
[strlen(log_absrcdir
)-1] = '\0';
268 opdir
= opendir ( log_absrcdir
);
272 perror ( log_absrcdir
);
276 if ( chdir ( tempdir
) == -1 )
283 for ( dp
= readdir ( opdir
); dp
!= NULL
; dp
= readdir ( opdir
) )
287 ctemp
= strrchr ( dp
->d_name
, '.' );
288 if ( ctemp
&& ( strcmp ( ctemp
, ".log" ) == 0 ) )
290 sprintf ( command
, LOGFORMAT
" %s/%s >/dev/null 2>&1", log_absrcdir
, dp
->d_name
);
291 if ( system ( command
) == -1 )
302 if ( chdir ( cwd
) == -1 )
309 opdir
= opendir ( tempdir
);
317 for ( dp
= readdir ( opdir
); dp
!= NULL
; dp
= readdir ( opdir
) )
321 if ( ( strcmp ( dp
->d_name
, ".." ) == 0 ) || ( strcmp ( dp
->d_name
, "." ) == 0 ) ) continue;
324 while ( ( tclist
->next
!= NULL
) && !used
)
326 if ( strcmp ( dp
->d_name
, tclist
->tcname
) == 0 )
329 sprintf ( oldname
, "%s/temp/%s", log_dstdir
, tclist
->tcname
);
330 sprintf ( newname
, "%s/%s.ttcnlog", log_dstdir
, tclist
->tcname
);
331 if ( rename ( oldname
, newname
) == -1 )
338 tclist
= tclist
->next
;
343 sprintf ( oldname
, "%s/temp/%s", log_dstdir
, dp
->d_name
);
348 if ( remove ( tempdir
) == -1 )
354 if ( closedir ( opdir
) != 0 )
356 perror ( log_srcdir
);
364 int WriteDump ( struct listentry
*first
, char *dump_srcdir
, char *dump_dstdir
, int tablen
, int fillcol
)
368 char fullname
[MAXLEN
];
370 struct listentry
*tclist
;
373 if ( dump_srcdir
[strlen(dump_srcdir
)-1] == '/' ) dump_srcdir
[strlen(dump_srcdir
)-1] = '\0';
375 opdir
= opendir ( dump_srcdir
);
378 perror ( dump_srcdir
);
382 for ( dp
= readdir ( opdir
); dp
!= NULL
; dp
= readdir ( opdir
) )
384 if ( ( strcmp ( dp
->d_name
, ".." ) == 0 ) || ( strcmp ( dp
->d_name
, "." ) == 0 ) ) continue;
387 while ( tclist
->next
!= NULL
)
389 sprintf ( fullname
, "%s.dump", tclist
->tcname
);
390 if ( strcmp ( dp
->d_name
, fullname
) == 0 )
395 sprintf ( fullname
, "%s/%s", dump_srcdir
, dp
->d_name
);
396 if ( ( rfile
= fopen ( fullname
, "rt") ) == NULL
)
402 sprintf ( fullname
, "%s/%s.dump", dump_dstdir
, tclist
->tcname
);
403 if ( ( wfile
= fopen ( fullname
, "wt") ) == NULL
)
409 while ( fgets ( inbuf
, sizeof ( inbuf
), rfile
) != NULL
)
411 GetIndent ( inbuf
, strlen ( inbuf
), 0, 0 );
412 TruncateLine ( inbuf
, strlen ( inbuf
), tablen
, fillcol
, wfile
);
417 tclist
= tclist
->next
;
421 if ( closedir ( opdir
) != 0 )
423 perror ( dump_srcdir
);
431 int Genhtml ( struct listentry
*first
, char *title
, char *data_dstdir
)
434 char dirname
[MAXLEN
], filename
[MAXLEN
], buf
[1024];
436 struct listentry
*tclist
;
440 sprintf ( buf
, "%s.html", data_dstdir
);
441 if ( ( wfile
= fopen ( buf
, "wt" ) ) == NULL
)
447 ctemp
= strrchr ( data_dstdir
, '/' );
448 strcpy ( dirname
, ctemp
+ 1 );
450 fprintf(wfile
, "<html>\n"
452 "<title>TTCN-3 Test report</title>\n"
455 " <IMG src=\"%s/logo.gif\">\n"
456 " <script type=\"text/javascript\">\n", dirname
);
458 fputs ( "adatok = new Array (", wfile
);
461 while ( tclist
->next
!= NULL
)
463 sprintf ( buf
, "\"%s\", ", tclist
->tcname
);
464 fputs ( buf
, wfile
);
466 sprintf ( filename
, "%s/%s.short", data_dstdir
, tclist
->tcname
);
467 sprintf ( buf
, "\"./%s/%s.short\", ", dirname
, tclist
->tcname
);
468 if ( access ( filename
, R_OK
) == 0 ) fputs ( buf
, wfile
);
469 else fputs ( "\"\", ", wfile
);
471 sprintf ( filename
, "%s/%s.long", data_dstdir
, tclist
->tcname
);
472 sprintf ( buf
, "\"./%s/%s.long\", ", dirname
, tclist
->tcname
);
473 if ( access ( filename
, R_OK
) == 0 ) fputs ( buf
, wfile
);
474 else fputs ( "\"\", ", wfile
);
476 sprintf ( filename
, "%s/%s.ttcn", data_dstdir
, tclist
->tcname
);
477 sprintf ( buf
, "\"./%s/%s.ttcn\", ", dirname
, tclist
->tcname
);
478 if ( access ( filename
, R_OK
) == 0 ) fputs ( buf
, wfile
);
479 else fputs ( "\"\", ", wfile
);
481 sprintf ( filename
, "%s/%s.ttcnlog", data_dstdir
, tclist
->tcname
);
482 sprintf ( buf
, "\"./%s/%s.ttcnlog\", ", dirname
, tclist
->tcname
);
483 if ( access ( filename
, R_OK
) == 0 ) fputs ( buf
, wfile
);
484 else fputs ( "\"\", ", wfile
);
486 sprintf ( filename
, "%s/%s.dump", data_dstdir
, tclist
->tcname
);
487 sprintf ( buf
, "\"./%s/%s.dump\",\n", dirname
, tclist
->tcname
);
488 if ( access ( filename
, R_OK
) == 0 ) fputs ( buf
, wfile
);
489 else fputs ( "\"\",\n", wfile
);
491 tclist
= tclist
->next
;
494 fprintf ( wfile
, "\"\" );\nmtitle=\"Test suite: %s\";\n", title
);
496 fputs (" egyelem=6;\n"
497 " tcszam=(adatok.length-1) / egyelem;\n"
498 " kijelolt=new Array(1,1,1,1);\n"
500 " function tcChange()\n"
502 " document.myForm.showOption.length=0;\n"
503 " index=document.myForm.testchoose.selectedIndex;\n"
506 " if (adatok[index*egyelem+2]!=\"\")\n"
508 " elem = new Option(\"Detailed description\", adatok[index*egyelem+2], false, kijelolt[0]);\n"
509 " document.myForm.showOption.options[document.myForm.showOption.length]=elem;\n"
511 " if (adatok[index*egyelem+3]!=\"\")\n"
513 " elem = new Option(\"TTCN-3 code\", adatok[index*egyelem+3], false, kijelolt[1]);\n"
514 " document.myForm.showOption.options[document.myForm.showOption.length]=elem;\n"
516 " if (adatok[index*egyelem+4]!=\"\")\n"
518 " elem = new Option(\"TTCN-3 executor's log\", adatok[index*egyelem+4], false, kijelolt[2]);\n"
519 " document.myForm.showOption.options[document.myForm.showOption.length]=elem;\n"
521 " if (adatok[index*egyelem+5]!=\"\")\n"
523 " elem = new Option(\"Other type of log\", adatok[index*egyelem+5], false, kijelolt[3]);\n"
524 " document.myForm.showOption.options[document.myForm.showOption.length]=elem;\n"
529 " function goNext()\n"
531 " if (document.myForm.testchoose.selectedIndex<document.myForm.testchoose.length-1)\n"
533 " itemsSelected();\n"
534 " document.myForm.testchoose.selectedIndex++;\n"
539 " function goPrev()\n"
541 " if (document.myForm.testchoose.selectedIndex>0)\n"
543 " itemsSelected();\n"
544 " document.myForm.testchoose.selectedIndex--;\n"
549 " function itemsSelected()\n"
551 " if (document.myForm.showOption.length)\n"
553 " for (b=0;b<4;b++)\n"
554 " for (i=0;i<document.myForm.showOption.length;i++)\n"
555 " if (document.myForm.showOption.options[i].value==adatok[index*egyelem+b+2])\n"
557 " if (!document.myForm.showOption.options[i].selected)\n"
566 " function windShow()\n"
568 " index=document.myForm.testchoose.selectedIndex;\n"
570 " for (i=0; i<document.myForm.showOption.length; i++)\n"
571 " if (document.myForm.showOption.options[i].selected) selectnumb++;\n"
572 " if (selectnumb>0)\n"
574 " mywin=window.open(\"\",index,\"toolbar,width=180,resizable=yes,scrollbars=no\");\n"
575 " mywin.document.write(\"<html> <HEAD> <TITLE> Test Case: \"+document.myForm.testchoose.options[index].text+\"</TITLE> </HEAD> <frameset rows=\\\"\");\n"
577 " for (i=0; i<selectnumb; i++)\n"
578 " csillag=\"*,\"+csillag;\n"
579 " mywin.document.write(csillag+\"\\\">\");\n"
580 " for (i=0; i<document.myForm.showOption.length; i++)\n"
581 " if (document.myForm.showOption.options[i].selected)\n"
582 " mywin.document.write(\"<frame src=\\\"\"+document.myForm.showOption.options[i].value+\"\\\">\");\n"
583 " mywin.document.write(\"</frameset></html>\");\n"
584 " mywin.document.close();\n"
588 " function summaryShow()\n"
590 " mywin=window.open(\"\",index,\"toolbar,resizable=yes,scrollbars=yes\");\n"
591 " mywin.document.writeln(\"<html> <HEAD> <TITLE> Summary </TITLE> </HEAD><body>\");\n"
592 " mywin.document.writeln(\"<br>\");\n"
593 " mywin.document.write(\"<P align=\\\"center\\\"><font size=\\\"10\\\">\");\n"
594 " mywin.document.write(mtitle);\n"
595 " mywin.document.writeln(\"</P>\");\n"
596 " mywin.document.write(\"<font size=\\\"5\\\">\");\n"
597 " mywin.document.writeln(\"\");\n"
598 "mywin.document.writeln(\"<hr>\");\n"
599 "mywin.document.writeln(\"<br>\");\n"
600 " mywin.document.write(\"<table border=\\\"2\\\" cellpading=\\\"5\\\" cellspacing=\\\"2\\\"><tr><th scope=\\\"col\\\">  Test Case  </th><th scope=\\\"col\\\">  Short Description  </th><th scope=\\\"col\\\">  Verdict  </th>\");\n", wfile
);
603 while ( tclist
->next
!= NULL
)
605 sprintf ( buf
, "mywin.document.writeln(\"<tr><td>  %s  </td><td>", tclist
->tcname
);
606 fputs ( buf
, wfile
);
608 sprintf ( filename
, "%s/%s.short", data_dstdir
, tclist
->tcname
);
610 if ( ( rfile
= fopen ( filename
, "rt" ) ) == NULL
) fputs ( "No description found!", wfile
);
615 while ( ( c
= getc ( rfile
) ) != EOF
)
617 if ( c
== '\n' ) putc ( ' ', wfile
);
620 putc ( '\\', wfile
);
623 else putc ( c
, wfile
);
627 fputs ( "</td><td ALIGN=\\\"CENTER\\\">  ", wfile
);
629 sprintf ( filename
, "%s/%s.ttcnlog", data_dstdir
, tclist
->tcname
);
630 if ( ( rfile
= fopen ( filename
, "rt" ) ) == NULL
) fputs ( "none", wfile
);
633 while ( fgets ( buf
, sizeof ( buf
), rfile
) != NULL
)
635 ctemp
= strchr ( buf
, 'V' );
636 while ( ctemp
!= NULL
)
638 if ( strncmp ( ctemp
, "Verdict: ", 9 ) == 0 )
640 if ( ctemp
[strlen(ctemp
)-1] == '\n' ) ctemp
[strlen(ctemp
)-1] = '\0';
641 fputs ( ctemp
+ 9, wfile
);
644 else ctemp
= strchr ( ctemp
+1, 'V' );
650 fputs ( "  </td></tr>\");\n", wfile
);
652 tclist
= tclist
->next
;
655 tval
= time ( NULL
);
656 ctemp
= ctime ( &tval
);
657 if ( ctemp
[strlen(ctemp
)-1] == '\n' ) ctemp
[strlen(ctemp
)-1] = '\0';
659 fprintf(wfile
, " mywin.document.write(\"</tr></table>\");\n"
660 " mywin.document.writeln(\"<br>\");\n"
661 " mywin.document.write(\"<font size=\\\"3\\\">\");\n"
662 " mywin.document.write(\"Date : \")\n"
663 " mywin.document.writeln(\"%s\");\n"
664 " mywin.document.write(\"</body></html>\");\n"
665 " mywin.document.close();\n"
668 " document.write(\"<P align=\\\"center\\\"><font size=\\\"10\\\">\");\n"
669 " document.write(mtitle);\n"
670 " document.write(\"<font size=\\\"5\\\">\");\n"
673 " <form name=\"myForm\">\n"
674 " <hr><br><SELECT size=\"12\" NAME=\"testchoose\" onChange=\"itemsSelected();tcChange()\">\n"
675 " <OPTION> Blank testcase Name ....................\n"
677 " <SELECT multiple size=\"12\" NAME=\"showOption\" >\n"
678 " <OPTION SELECTED> Blank options Name ........................................\n"
681 " <input type=\"button\" name=\"PrevButt\" value=\"Previous\" onClick=\"goPrev()\">\n"
682 " <input type=\"button\" name=\"nextButt\" value=\"Next\" onClick=\"goNext()\">\n"
683 " <input type=\"button\" name=\"newWind\" value=\"Show\" onClick=\"windShow()\">\n"
684 " <input type=\"button\" name=\"summary\" value=\"Summary\" onClick=\"summaryShow()\">\n"
687 " <script type=\"text/javascript\">\n"
688 " for (i=0; i<tcszam; i++)\n"
690 " elem = new Option(adatok[i*egyelem], \"\", false, false);\n"
691 " document.myForm.testchoose.options[i]=elem;\n"
693 " document.myForm.testchoose.selectedIndex=0;\n"
695 " document.writeln(tcszam);"
697 " Testcases altogether <p></p>\n"
698 " <font size=-1>Date: %s <p></p>\n"
700 "</html>\n", ctemp
, ctemp
);
704 sprintf ( filename
, "%s/logo.gif", data_dstdir
);
705 if ( ( wfile
= fopen ( filename
, "wt" ) ) == NULL
)
711 fwrite ( &logo
, sizeof ( logo
), 1, wfile
);
This page took 0.06163 seconds and 5 git commands to generate.