5 if($#ARGV!=2){die "Usage: tesh.pl --cd <directory> <teshfile.tesh>\n";}
\r
13 if($ARGV[$nb_arg] =~ /^--cd$/)
\r
16 my($directory)=$ARGV[$nb_arg];
\r
17 chdir("$directory");
\r
18 print "Change directory to \"$directory\"\n";
\r
21 }while(($nb_arg-1)!=$#ARGV);
\r
23 my($file)=$ARGV[$nb_arg-1];
\r
24 open SH_LIGNE, $file or die "Unable to open $file. $!\n";
\r
26 while(defined($line1=<SH_LIGNE>))
\r
28 if($line1 =~ /^\$/){ #command line
\r
30 $line1 =~ s/\$\{srcdir\:\=\.\}/./g;
\r
31 $line1 =~ s/\$SG_TEST_EXENV//g;
\r
32 $line1 =~ s/\$SG_EXENV_TEST//g;
\r
33 $line1 =~ s/\$EXEEXT//g;
\r
34 $line1 =~ s/\${EXEEXT:=}//g;
\r
35 $line1 =~ s/^\$\ *//g;
\r
36 $line1 =~ s/^.\/lua/lua/g;
\r
37 $line1 =~ s/^.\/ruby/ruby/g;
\r
39 $line1 =~ s/\(%i:%P@%h\)/\\\(%i:%P@%h\\\)/g;
\r
42 print "$execline\n";
\r
43 system "$execline 1>output_tesh.txt 2>output_tesh_err.txt";
\r
46 open (FILE, "output_tesh.txt");
\r
47 open (FILE_ERR, "output_tesh_err.txt");}
\r
49 if($line1 =~ /^\>/){ #expected result line
\r
50 if($ok == 0){die "No command line$!";}
\r
51 $line1 =~ s/^\> //g;
\r
55 if($line1 =~ /^.*\[.*\].*\[.*\/INFO\].*$/)
\r
56 {if(!defined($line2=<FILE_ERR>))
\r
57 { print "- $line1\n";
\r
59 elsif($line1 =~ /^.*\[.*\].*\[.*\/WARNING\].*$/)
\r
60 {if(!defined($line2=<FILE_ERR>))
\r
61 { print "- $line1\n";
\r
63 elsif($line1 =~ /^.*\[.*\].*\[.*\/CRITICAL\].*$/)
\r
64 {if(!defined($line2=<FILE_ERR>))
\r
65 { print "- $line1\n";
\r
67 elsif($line1 =~ /^.*\[.*\].*\[.*\/DEBUG\].*$/)
\r
68 {if(!defined($line2=<FILE_ERR>))
\r
69 { print "- $line1\n";
\r
71 elsif($line1 =~ /^.*\[.*\].*\[0\:\@\].*$/)
\r
72 {if(!defined($line2=<FILE_ERR>))
\r
73 { print "- $line1\n";
\r
75 elsif($line1 =~ /^.*\[.*\].*\(0\:\@\).*$/)
\r
76 {if(!defined($line2=<FILE_ERR>))
\r
77 { print "- $line1\n";
\r
79 else{if(!defined($line2=<FILE>))
\r
80 { print "- $line1\n";
\r
85 if($line2 eq $line1){}
\r
87 { print "- $line1\n";
\r
92 print "Test of \"$file\" OK\n";
\r